Monzo tăng các chỉ số hiệu suất lên đến 35% nhờ một bản cập nhật R8 đơn giản
Thời gian đọc: 2 phút
Monzo là một ngân hàng số tại Vương quốc Anh với 15 triệu khách hàng và đang tiếp tục tăng trưởng. Khi ứng dụng mở rộng quy mô, nhóm kỹ thuật nhận thấy thời gian khởi động ứng dụng là một khía cạnh 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ã.
Bằng cách bật hoàn toàn các tính năng tối ưu hoá của R8, Monzo đã giảm được 35% tỷ lệ lỗi Ứng dụng không phản hồi (ANR). Thay đổi đơn giản này chứng minh rằng không phải lúc nào việc tối ưu hoá hiệu quả cũng đòi hỏi nỗ lực kỹ thuật phức tạp.
Cải thiện hiệu suất trên diện rộng nhờ chế độ đầy đủ của R8
Monzo xác định chế độ đầy đủ của R8 là một giải pháp khắc phục dễ dàng và đáng thử. Giải pháp này đã phát huy hiệu quả, giúp cải thiện hiệu suất trên toàn 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 chạy: Thời gian khởi chạy P50 cải thiện 11% và thời gian khởi chạy P90 cải thiện 12%.
- Hiệu quả: 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, khiến hầu hết chức năng của trình tối ưu hoá R8 bị vô hiệu hoá. Thay đổi chính mà Monzo thực hiện để cải thiện hiệu suất là thay thế tệp mặc định proguard-android.txt bằng proguard-android-optimize.txt. Thay đổi này sẽ xoá lệnh -dontoptimize và cho phép R8 thực hiện đúng công việc 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 các tệp cấu hình Keep. Các tệp này cho R8 biết phần nào trong mã của bạn cần được giữ nguyên (thường là vì các phần này được gọi động hoặc được gọi bởi các thư viện bên ngoài). Việc dọn dẹp các quy tắc Keep không cần thiết giúp 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 nhắm đến hiệu suất cuộn và kết xuất 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à lướt xem trang tin) được tối ưu hoá hoàn toàn. Tác động đến quá trình kết xuất là rất đá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, thao tác cuộn trong ứng dụng mượt mà hơn trước.
Monzo đã đưa tính năng này vào quy trình phát hành để duy trì những điểm cải tiến này theo thời gian. Chúng tôi kích hoạt quy trình tạo Hồ sơ cơ sở vào 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 thực hiện các thay đổi mới nhất sau khi hoàn tất
Theo kịp xu hướng phát triển Android hiện đại
Trải nghiệm của Monzo cho thấy những điều có thể đạt đượ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 chiếu phức tạp, nhưng Monzo nhận thấy quá trình chuyển đổi diễn ra suôn sẻ nhờ ghi lại đúng cách các Quy tắc giữ lại. "Chúng tôi luôn thêm nhận xét giải thích lý do áp dụng Quy tắc giữ lại để biết khi nào có thể xoá các quy tắc đó một cách an toàn", Neumayer lưu ý.
Neumayer có lời khuyên nào cho các nhóm khác không? Thường xuyên kiểm tra các phương pháp của bạn theo tiêu chuẩn hiện hành: "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 làm theo tất cả cá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
-
Nghiên cứu điển hìnhGrab là siêu ứng dụng hàng đầu Đông Nam Á, cung cấp dịch vụ giao hàng, di chuyển và dịch vụ tài chính cho hàng triệu người dùng tại 8 quốc gia thông qua một ứng dụng duy nhất.
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • Thời gian đọc: 5 phút -
Nghiên cứu điển hìnhWhatsApp là nền tảng nhắn tin lớn nhất thế giới, phục vụ hàng tỷ người dùng trên toàn cầu. Đây là công cụ giao tiếp mặc định cho mọi người ở nhiều khu vực, giúp kết nối người dùng thông qua dịch vụ nhắn tin riêng tư, đáng tin cậy và bảo mật.
Niharika Arora, Tracy Agyemang, Mayank Jain • Đọc trong 8 phút -
Nghiên cứu điển hìnhTinder có sứ mệnh thúc đẩy và truyền cảm hứng cho những mối quan hệ thực sự bằng cách giúp những người độc thân thuộc mọi thế hệ mới gặp gỡ nhau một cách dễ dàng và vui vẻ.
Ajesh Pai, Ulises Uriel Verduzco Díaz , Tracy Agyemang • Mất 4 phút để đọc
Nhận thông tin chi tiết mới nhất về hoạt động phát triển Android trong hộp thư đến của bạn hằng tuần.