Để 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 có kích thước nhỏ và chạy nhanh nhất có thể. Trình tối ưu hoá ứng dụng của chúng tôi (gọi là R8) sẽ tinh giản ứ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
- Cải thiện hiệu suất kết xuất và thời gian chạy
- Í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ư minh hoạ trong mã sau. Bạn nên luôn bật cả hai chế độ cài đặt này. Bạn cũng nên chỉ 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 xuất bản (thường là bản phát hành), vì các hoạt động tối ưu hoá sẽ làm tăng thời gian tạo 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') ... } } }
Tối ưu hoá việc rút gọn tài nguyên để có các ứng dụng nhỏ hơn nữa
Phiên bản 8.12.0 của Trình bổ trợ Android cho Gradle (AGP) giới thiệu tính năng rút gọn tài nguyên được tối ưu hoá, nhằm mục đích tích hợp tính năng tối ưu hoá tài nguyên và mã để tạo ra các ứng dụng nhỏ hơn và nhanh hơn.
Bật tính năng rút gọn tài nguyên được tối ưu hoá
Để bật quy trình rút gọn tài nguyên được tối ưu hoá mới cho phiên bản AGP trước 9.0.0, hãy thêm nội dung sau vào tệp gradle.properties
của dự án:
android.r8.optimizedResourceShrinking=true
Nếu đang sử dụng AGP 9.0.0 trở lên, bạn không cần đặt android.r8.optimizedResourceShrinking=true
. Tính năng giảm kích thước tài nguyên được tối ưu hoá sẽ tự động áp dụng khi bạn bật isShrinkResources = true
trong cấu hình bản dựng.
Xác minh và định cấu hình chế độ cài đặt tối ưu hoá R8
Để cho phép R8 sử dụng đầy đủ các chức năng tối ưu hoá, hãy xoá dòng sau khỏi tệp gradle.properties
của dự án (nếu có):
android.enableR8.fullMode=false # Remove this line from your codebase.
Xin lưu ý rằng việc bật tính năng tối ưu hoá ứng dụng sẽ khiến bạn khó hiểu dấu vết ngăn xếp, đặc biệt là nếu R8 đổi tên lớp hoặc tên phương thức. Để nhận đượ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, thì sau đây là một số chiến lược để khắc phục lỗi:
- Thêm các quy tắc lưu giữ để giữ nguyên một số mã.
- Áp dụng các điểm tối ưu hoá theo từng bước.
- 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á.