Studi Kasus
Monzo meningkatkan metrik performa hingga 35% dengan update R8 sederhana
Waktu baca: 2 menit
Monzo adalah bank digital Inggris Raya dengan 15 juta pelanggan dan terus bertambah. Seiring penskalaan aplikasi, tim engineering mengidentifikasi waktu mulai aplikasi sebagai area penting yang perlu ditingkatkan, tetapi khawatir hal itu akan memerlukan perubahan signifikan pada codebase mereka.
Dengan mengaktifkan pengoptimalan R8 sepenuhnya, Monzo berhasil mengurangi rasio Aplikasi Tidak Merespons (ANR) sebesar 35%. Perubahan sederhana ini membuktikan bahwa pengoptimalan yang berdampak tidak selalu memerlukan upaya engineering yang kompleks.
Mendapatkan peningkatan performa yang luas dengan mode penuh R8
Monzo mengidentifikasi mode penuh R8 sebagai perbaikan mudah yang patut dicoba; dan berhasil, meningkatkan performa secara keseluruhan:
- Keandalan Startup: Cold start ditingkatkan sebesar 30%, Warm start sebesar 24%, dan Hot start sebesar 14%.
- Kecepatan Peluncuran: Waktu peluncuran P50 meningkat sebesar 11% dan waktu peluncuran P90 meningkat sebesar 12%.
- Efisiensi: Ukuran aplikasi secara keseluruhan berkurang sebesar 9%.
- Stabilitas: Pengurangan ANR sebesar 35%.
Mengaktifkan pengoptimalan dengan satu perubahan
Banyak aplikasi Android menggunakan file konfigurasi default yang sudah usang yang menonaktifkan sebagian besar fungsi pengoptimal R8. Perubahan utama yang dilakukan Monzo untuk mendapatkan peningkatan performa ini adalah mengganti file default proguard-android.txt dengan proguard-android-optimize.txt. Perubahan ini menghapus instruksi -dontoptimize dan memungkinkan R8 melakukan tugasnya dengan benar.
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
)
}
}Setelah melakukan perubahan ini, sebaiknya lihat file konfigurasi Keep Anda. File ini memberi tahu R8 bagian kode mana yang tidak boleh diubah (biasanya karena dipanggil secara dinamis atau oleh library eksternal). Merapikan aturan Keep yang tidak perlu berarti R8 dapat melakukan lebih banyak hal.
Meningkatkan performa scroll dengan Profil Dasar Pengukuran
Untuk lebih meningkatkan pengalaman pengguna, Monzo menerapkan Profil Baseline, yang secara khusus menargetkan performa scrolling dan rendering di feed utamanya. Strategi ini memastikan bahwa perjalanan pengguna yang paling umum—membuka aplikasi dan men-scroll feed—dioptimalkan sepenuhnya. Dampak pada rendering sangat besar: Performa scroll P90 menjadi 71% lebih cepat, dan performa scroll P95 meningkat sebesar 87%. Sekarang, men-scroll aplikasi menjadi lebih lancar dari sebelumnya.
Monzo memasukkan fitur ini ke dalam proses rilisnya untuk mempertahankan peningkatan ini dari waktu ke waktu. "Kami memicu pembuatan profil dasar pengukuran setiap hari kerja (sebelum menjalankan build malam kami) dan melakukan perubahan terbaru setelah selesai," jelas Neumayer.
Mengikuti perkembangan pengembangan Android modern
Pengalaman Monzo menunjukkan apa yang dapat dilakukan jika Anda terus mengikuti rekomendasi alat build Android terbaru. Meskipun aplikasi lama sering kali kesulitan dengan penggunaan refleksi yang kompleks, Monzo mendapati transisinya mudah dengan mendokumentasikan Aturan Penyimpanannya dengan benar. "Kami selalu menambahkan komentar yang menjelaskan alasan Aturan Penyimpanan diterapkan, sehingga kami tahu kapan aturan tersebut dapat dihapus dengan aman," kata Neumayer.
Apa saran Neumayer untuk tim lain? Periksa praktik Anda secara rutin berdasarkan standar saat ini: "Lihat rekomendasi terbaru dari Google terkait performa aplikasi dan periksa apakah Anda mengikuti semua saran terbaru."
Untuk memulai dan mempelajari R8 lebih lanjut, buka https://d.android.com/r8
Lanjutkan membaca
-
Studi Kasus
Selama bekerja dengan tim Android Developer Relations, tim engineering di Reddit menggunakan Skor Performa Aplikasi untuk mengevaluasi aplikasi mereka.
Ben Weiss • Waktu baca: 4 menit
-
Studi Kasus
TikTok adalah platform video pendek global yang dikenal dengan basis penggunanya yang besar dan fitur-fiturnya yang inovatif.
Ben Trengrove, Ajesh Pai • Waktu baca: 2 menit
-
Studi Kasus
Dalam dunia media sosial yang dinamis, perhatian pengguna dapat diperoleh atau hilang dengan cepat. Aplikasi Meta (Facebook dan Instagram) adalah salah satu platform sosial terbesar di dunia dan melayani miliaran pengguna secara global.
Mayuri Khinvasara Khabya • Waktu baca: 4 menit
Terus dapatkan informasi
Dapatkan insight pengembangan Android terbaru yang dikirim ke kotak masuk Anda setiap minggu.