𝗣𝗿𝗼𝗳𝗶𝗹𝗲-𝗚𝘂𝗶𝗱𝗲𝗱 𝗢𝗽𝘁𝗶𝗺𝗶𝘇𝗮𝘁𝗶𝗼𝗻 𝗳𝗼𝗿 𝗔𝗻𝗱𝗿𝗼𝗶𝗱 𝗔𝗽𝗽 𝗦𝘁𝗮𝗿𝘁𝘂𝗽

Kami memangkas cold start Android kami dari 1,2 detik menjadi 380ms.

Sebagian besar aplikasi berjalan pada mode kompilasi terlambat saat peluncuran pertama. Android menggunakan mode "interpret-only" saat pengguna pertama kali menginstal aplikasi Anda. Hal ini membuat startup menjadi lambat. Sistem baru akan mengoptimalkan kode saat waktu luang (idle time) di kemudian hari.

Anda dapat memperbaikinya menggunakan alur kerja (pipeline) tiga langkah.

  1. Hasilkan Baseline Profiles Baseline Profiles memberi tahu sistem kelas mana yang harus dikompilasi pada saat instalasi. Gunakan Macrobenchmark untuk membuatnya di dalam pipeline CI Anda. Profil kami mencakup 12% metode tetapi menangani 94% waktu startup.

  2. Aktifkan DEX Layout Reordering Ini hanya satu baris di properti Gradle Anda. Ini memerintahkan R8 untuk mengelompokkan kelas-kelas startup bersama-sama dalam file DEX Anda. Hal ini mengurangi page faults sebesar 30% hingga 50%. Ketika kelas-kelas tetap bersama, sistem memuat lebih sedikit data yang tidak berguna dari disk.

  3. Gunakan Cloud Profiles Google Play mengumpulkan profil dari pengguna dan mengirimkannya ke instalasi baru. Ini akan melipatgandakan peningkatan kecepatan Anda.

Hasil pengujian kami:

Tips penting untuk alur kerja Anda:

Tumpuk lapisan-lapisan ini untuk membangun aplikasi yang lebih cepat.

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