เปิดใช้การเพิ่มประสิทธิภาพแอป

คุณควรเพิ่มประสิทธิภาพแอปให้มีขนาดเล็กและรวดเร็วที่สุดเท่าที่จะเป็นไปได้เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ดีที่สุด เครื่องมือเพิ่มประสิทธิภาพแอปของเราชื่อ 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')

            ...
        }
    }
}

เพิ่มประสิทธิภาพการลดขนาดทรัพยากรเพื่อให้แอปมีขนาดเล็กลง

Android Gradle Plugin (AGP) เวอร์ชัน 8.12.0 มีการเพิ่มการลดขนาดทรัพยากรที่ได้รับการเพิ่มประสิทธิภาพ ซึ่งมีเป้าหมายเพื่อผสานรวมการเพิ่มประสิทธิภาพทรัพยากรและโค้ดเพื่อสร้างแอปที่ มีขนาดเล็กลงและเร็วขึ้น

เปิดใช้การลดขนาดทรัพยากรที่เพิ่มประสิทธิภาพ

หากต้องการเปิดไปป์ไลน์การลดขนาดทรัพยากรที่ได้รับการเพิ่มประสิทธิภาพใหม่สำหรับ AGP เวอร์ชันก่อน 9.0.0 ให้เพิ่มข้อมูลต่อไปนี้ลงในไฟล์ gradle.properties ของโปรเจ็กต์

android.r8.optimizedResourceShrinking=true

หากใช้ AGP 9.0.0 ขึ้นไป คุณไม่จำเป็นต้องตั้งค่า android.r8.optimizedResourceShrinking=true ระบบจะใช้การลดขนาดทรัพยากรที่เพิ่มประสิทธิภาพโดยอัตโนมัติเมื่อเปิดใช้ isShrinkResources = true ในการกำหนดค่าบิลด์

ยืนยันและกำหนดค่าการตั้งค่าการเพิ่มประสิทธิภาพ R8

หากต้องการให้ R8 ใช้ความสามารถในการเพิ่มประสิทธิภาพอย่างเต็มที่ ให้นำบรรทัดต่อไปนี้ออกจากไฟล์ gradle.properties ของโปรเจ็กต์ (หากมี)

android.enableR8.fullMode=false # Remove this line from your codebase.

โปรดทราบว่าการเปิดใช้การเพิ่มประสิทธิภาพแอปจะทำให้เข้าใจ Stack Trace ได้ยาก โดยเฉพาะอย่างยิ่งหาก R8 เปลี่ยนชื่อคลาสหรือชื่อเมธอด หากต้องการดู Stack Trace ที่ สอดคล้องกับซอร์สโค้ดอย่างถูกต้อง ให้ดูที่ กู้คืน Stack Trace เดิม

หากเปิดใช้ R8 คุณควรสร้างโปรไฟล์การเริ่มต้นเพื่อให้ประสิทธิภาพการเริ่มต้นดียิ่งขึ้น

หากเปิดใช้การเพิ่มประสิทธิภาพแอปและทำให้เกิดข้อผิดพลาด โปรดลองใช้กลยุทธ์ต่อไปนี้เพื่อแก้ไขข้อผิดพลาด