Pengoptimuman Berpandukan Profil untuk Permulaan Aplikasi Android

Kami mengurangkan masa cold start Android kami daripada 1.2s kepada 380ms.

Kebanyakan aplikasi berjalan dalam mod kompilasi yang paling perlahan semasa pelancaran pertama. Android menggunakan mod "interpret-only" apabila pengguna mula-mula memasang aplikasi anda. Ini menyebabkan permulaan aplikasi menjadi perlahan. Sistem hanya mengoptimumkan kod semasa waktu terbiar (idle time) kemudiannya.

Anda boleh mengatasi masalah ini menggunakan saluran paip (pipeline) tiga langkah.

  1. Jana Baseline Profiles Baseline Profiles memberitahu sistem kelas mana yang perlu dikompil semasa waktu pemasangan. Gunakan Macrobenchmark untuk menciptanya dalam saluran paip CI anda. Profil kami merangkumi 12% kaedah (methods) tetapi mengendalikan 94% daripada masa permulaan.

  2. Aktifkan DEX Layout Reordering Ini hanyalah satu baris dalam properti Gradle anda. Ia memberitahu R8 untuk mengumpulkan kelas-kelas permulaan bersama-sama dalam fail DEX anda. Ini mengurangkan ralat halaman (page faults) sebanyak 30% hingga 50%. Apabila kelas-kelas kekal bersama, sistem memuatkan kurang data yang tidak berguna daripada cakera (disk).

  3. Gunakan Cloud Profiles Google Play mengumpul profil daripada pengguna dan menghantarnya kepada pemasangan baharu. Ini akan menggandakan peningkatan kelajuan anda.

Keputusan ujian kami:

Tip penting untuk aliran kerja anda:

Gabungkan lapisan-lapisan ini untuk membina aplikasi yang lebih pantas.

Sumber: https://dev.to/software_mvp-factory/profile-guided-optimization-for-android-app-startup-2i7a