คุณควรเพิ่มประสิทธิภาพแอปให้มีขนาดเล็กและรวดเร็วที่สุดเท่าที่จะเป็นไปได้เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ดีที่สุด เครื่องมือเพิ่มประสิทธิภาพแอปของเราที่ชื่อ R8 จะเพิ่มประสิทธิภาพแอปโดย นำโค้ดและทรัพยากรที่ไม่ได้ใช้ออก เขียนโค้ดใหม่เพื่อเพิ่มประสิทธิภาพรันไทม์ และอื่นๆ สำหรับผู้ใช้ของคุณ การดำเนินการนี้หมายความว่า
- เริ่มเล่นวิดีโอได้เร็วขึ้น
- ปรับปรุงประสิทธิภาพการแสดงผลและรันไทม์
- ANR น้อยลง
หากต้องการเปิดใช้การเพิ่มประสิทธิภาพแอป ให้ตั้งค่า isMinifyEnabled = true
(สำหรับการเพิ่มประสิทธิภาพโค้ด)
และ isShrinkResources = true
(สำหรับการเพิ่มประสิทธิภาพทรัพยากร) ในสคริปต์บิลด์ระดับแอปของบิลด์
รุ่นตามที่แสดงในโค้ดต่อไปนี้ เราขอแนะนำ
ให้คุณเปิดใช้การตั้งค่าทั้ง 2 อย่างเสมอ นอกจากนี้ เรายังแนะนำให้เปิดใช้การเพิ่มประสิทธิภาพแอป
เฉพาะในเวอร์ชันสุดท้ายของแอปที่คุณทดสอบก่อน
เผยแพร่ ซึ่งโดยปกติคือบิลด์รุ่นที่เผยแพร่ เนื่องจาก
การเพิ่มประสิทธิภาพจะเพิ่มเวลาบิลด์ของโปรเจ็กต์และอาจทำให้การแก้ไขข้อบกพร่องยากขึ้นเนื่องจากวิธี
การแก้ไขโค้ด
Kotlin
android { buildTypes { release { // Enables code-related app optimization. isMinifyEnabled = true // Enables resource shrinking. isShrinkResources = true proguardFiles( // Default file with automatically generated optimization rules. getDefaultProguardFile("proguard-android-optimize.txt"), ... ) ... } } ... }
Groovy
android { buildTypes { release { // Enables code-related app optimization. minifyEnabled true // Enables resource shrinking. shrinkResources true // Default file with automatically generated optimization rules. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') ... } } }
นอกจากนี้ ให้ตรวจสอบว่า R8 ใช้ความสามารถในการเพิ่มประสิทธิภาพอย่างเต็มที่โดย
นำบรรทัดนี้ออกจากไฟล์ gradle.properties
ของโปรเจ็กต์ หากมี
android.enableR8.fullMode=false # Remove this line from your codebase.
โปรดทราบว่าการเปิดใช้การเพิ่มประสิทธิภาพแอปจะทำให้เข้าใจ Stack Trace ได้ยาก โดยเฉพาะอย่างยิ่งหาก R8 เปลี่ยนชื่อคลาสหรือชื่อเมธอด หากต้องการดู Stack Trace ที่ สอดคล้องกับซอร์สโค้ดอย่างถูกต้อง ให้ดูที่ กู้คืน Stack Trace เดิม
หากเปิดใช้ R8 คุณควรสร้างโปรไฟล์การเริ่มต้นเพื่อให้ประสิทธิภาพการเริ่มต้นดียิ่งขึ้น
หากเปิดใช้การเพิ่มประสิทธิภาพแอปและทำให้เกิดข้อผิดพลาด โปรดลองใช้กลยุทธ์ต่อไปนี้เพื่อแก้ไขข้อผิดพลาด
- เพิ่มกฎการเก็บเพื่อเก็บโค้ดบางส่วนไว้โดยไม่เปลี่ยนแปลง
- ใช้การเพิ่มประสิทธิภาพทีละขั้น
- อัปเดตโค้ดเพื่อใช้ไลบรารีที่เหมาะกับการเพิ่มประสิทธิภาพมากกว่า