Các nghiên cứu điển hình
Monzo tăng các chỉ số hiệu suất lên đến 35% bằng một bản cập nhật R8 đơn giản
2 phút đọc
Monzo là một ngân hàng kỹ thuật số ở Vương quốc Anh với 15 triệu khách hàng và đang phát triển. Khi ứng dụng mở rộng quy mô, nhóm kỹ thuật đã xác định thời gian khởi động ứng dụng là một lĩnh vực quan trọng cần cải thiện, nhưng lo ngại rằng việc này sẽ đòi hỏi những thay đổi đáng kể đối với cơ sở mã của họ.
Bằng cách bật đầy đủ các tính năng tối ưu hoá R8, Monzo đã giảm đáng kể 35% tỷ lệ Ứng dụng không phản hồi (ANR). Thay đổi đơn giản này đã chứng minh rằng các tính năng tối ưu hoá có tác động không phải lúc nào cũng đòi hỏi nỗ lực kỹ thuật phức tạp.
Khai thác nhiều lợi ích về hiệu suất nhờ chế độ đầy đủ của R8
Monzo xác định chế độ đầy đủ của R8 là một giải pháp dễ dàng đáng để thử. Giải pháp này đã hoạt động và cải thiện hiệu suất trên mọi phương diện:
- Độ tin cậy khi khởi động: Khởi động nguội cải thiện 30%, Khởi động ấm cải thiện 24% và Khởi động nóng cải thiện 14%.
- Tốc độ khởi động: Thời gian khởi động P50 cải thiện 11% và thời gian khởi động P90 cải thiện 12%.
- Hiệu suất: Kích thước tổng thể của ứng dụng giảm 9%.
- Độ ổn định: Giảm 35% lỗi ANR.
Bật tính năng tối ưu hoá chỉ bằng một thay đổi
Nhiều ứng dụng Android sử dụng tệp cấu hình mặc định đã lỗi thời, vô hiệu hoá hầu hết các chức năng của trình tối ưu hoá R8. Thay đổi chính mà Monzo đã thực hiện để khai thác những cải thiện về hiệu suất này là thay thế tệp mặc định proguard-android.txt bằng proguard-android-optimize.txt. Thay đổi này sẽ xoá hướng dẫn -dontoptimize và cho phép R8 thực hiện đúng chức năng của mình.
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
)
}
}Sau khi thực hiện thay đổi này, bạn nên xem xét các tệp cấu hình Keep. Các tệp này cho R8 biết những phần nào trong mã của bạn cần giữ nguyên (thường là vì các phần đó được gọi một cách linh động hoặc bằng các thư viện bên ngoài). Việc sắp xếp các quy tắc Keep không cần thiết có nghĩa là R8 có thể làm được nhiều việc hơn.
Cải thiện hiệu suất cuộn bằng Hồ sơ cơ sở
Để nâng cao hơn nữa trải nghiệm người dùng, Monzo đã triển khai Hồ sơ cơ sở, đặc biệt là nhắm mục tiêu đến hiệu suất cuộn và hiển thị trên nguồn cấp dữ liệu chính. Chiến lược này đảm bảo rằng các hành trình phổ biến nhất của người dùng (mở ứng dụng và cuộn nguồn cấp dữ liệu) được tối ưu hoá hoàn toàn. Tác động đến việc hiển thị là đáng kể: hiệu suất cuộn P90 nhanh hơn 71% và hiệu suất cuộn P95 cải thiện 87%. Giờ đây, việc cuộn ứng dụng mượt mà hơn trước.
Monzo đã tích hợp tính năng này vào quy trình phát hành để duy trì những cải thiện này theo thời gian. Chúng tôi kích hoạt quá trình tạo hồ sơ cơ sở mỗi ngày trong tuần (trước khi chạy bản dựng chạy vào ban đêm) và cam kết những thay đổi mới nhất sau khi hoàn tất
Cập nhật thông tin về cách phát triển Android hiện đại
Trải nghiệm của Monzo cho thấy những điều có thể thực hiện được khi bạn luôn cập nhật các đề xuất về công cụ xây dựng Android. Mặc dù các ứng dụng cũ thường gặp khó khăn khi sử dụng tính năng phản ánh phức tạp, nhưng Monzo nhận thấy quá trình chuyển đổi diễn ra đơn giản bằng cách ghi lại đúng cách Quy tắc Keep. "Chúng tôi luôn thêm một nhận xét giải thích lý do áp dụng Quy tắc Keep, để biết khi nào có thể xoá các quy tắc đó một cách an toàn", Neumayer lưu ý.
Lời khuyên của Neumayer dành cho các nhóm khác? Thường xuyên kiểm tra các phương pháp của bạn dựa trên các tiêu chuẩn hiện tại: "Hãy xem các đề xuất mới nhất của Google về hiệu suất của ứng dụng và kiểm tra xem bạn có đang tuân thủ tất cả lời khuyên mới nhất hay không".
Để bắt đầu và tìm hiểu thêm về R8, hãy truy cập vào https://d.android.com/r8
Tiếp tục đọc
-
Các nghiên cứu điển hình
Trong quá trình làm việc với nhóm Quan hệ với nhà phát triển Android, nhóm kỹ thuật tại Reddit đã sử dụng Điểm hiệu suất ứng dụng để đánh giá ứng dụng của họ.
Ben Weiss • 4 phút đọc
-
Các nghiên cứu điển hình
TikTok là một nền tảng video ngắn toàn cầu, nổi tiếng với cơ sở người dùng khổng lồ và các tính năng cải tiến.
Ben Trengrove, Ajesh Pai • 2 phút đọc
-
Các nghiên cứu điển hình
Trong thế giới mạng xã hội năng động, sự chú ý của người dùng có thể nhanh chóng bị thu hút hoặc mất đi. Các ứng dụng của Meta (Facebook và Instagram) là một trong những nền tảng xã hội lớn nhất thế giới và phục vụ hàng tỷ người dùng trên toàn cầu.
Mayuri Khinvasara Khabya • 4 phút đọc
Nhận thông tin cập nhật
Nhận thông tin chi tiết mới nhất về cách phát triển Android được gửi đến hộp thư đến của bạn hằng tuần.