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

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

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