Để mang lại trải nghiệm tốt nhất cho người dùng, bạn nên tối ưu hoá ứng dụng để ứng dụng nhỏ và nhanh nhất có thể. Trình tối ưu hoá ứng dụng của chúng tôi (có tên là R8) giúp đơn giản hoá ứng dụng của bạn bằng cách xoá mã và tài nguyên không dùng đến, viết lại mã để tối ưu hoá hiệu suất thời gian chạy, v.v. Đối với người dùng, điều này có nghĩa là:
- Thời gian khởi động nhanh hơn
- Ít giật hơn
- Ít lỗi ANR hơn
Để bật tính năng tối ưu hoá ứng dụng, hãy đặt isMinifyEnabled = true
(để tối ưu hoá mã) và isShrinkResources = true
(để tối ưu hoá tài nguyên) trong tập lệnh bản dựng cấp ứng dụng của bản phát hành như trong mã sau. Bạn nên luôn bật cả hai chế độ cài đặt này. Bạn cũng chỉ nên bật tính năng tối ưu hoá ứng dụng trong phiên bản cuối cùng của ứng dụng mà bạn kiểm thử trước khi phát hành (thường là bản phát hành) vì tính năng tối ưu hoá làm tăng thời gian tạo bản dựng của dự án và có thể khiến việc gỡ lỗi trở nên khó khăn hơn do cách tính năng này sửa đổi mã.
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') ... } } }
Xin lưu ý rằng việc bật tính năng tối ưu hoá ứng dụng sẽ khiến dấu vết ngăn xếp khó hiểu, đặc biệt là nếu R8 đổi tên lớp hoặc tên phương thức. Để có được dấu vết ngăn xếp tương ứng chính xác với mã nguồn của bạn, hãy xem phần Khôi phục dấu vết ngăn xếp ban đầu.
Nếu bật R8, bạn cũng nên tạo Hồ sơ khởi động để có hiệu suất khởi động tốt hơn nữa.
Nếu bạn bật tính năng tối ưu hoá ứng dụng và tính năng này gây ra lỗi, hãy tham khảo một số chiến lược sau để khắc phục:
- Thêm quy tắc giữ lại để giữ nguyên một số mã.
- Áp dụng các biện pháp tối ưu hoá một cách tăng dần.
- Cập nhật mã của bạn để sử dụng các thư viện phù hợp hơn cho việc tối ưu hoá.