Dokumen ini menjelaskan perbedaan antara Profil Dasar Pengukuran dan Profil Startup.
Anda dapat menggunakan Plugin Gradle Profil Dasar Pengukuran untuk otomatis merekam file profil dasar pengukuran yang mudah dibaca dan dibuat oleh pengujian BaselineProfileRule. Saat membangun aplikasi, Plugin Android Gradle (AGP) mengompilasi aturan profil yang mudah dibaca ini ke dalam format biner, yang dikemas sebagai baseline.prof
dalam Android Package Kit (APK) atau Android App Bundle (AAB), yang dapat digunakan secara efektif oleh Android
Runtime (ART) untuk kompilasi di perangkat, asalkan profil biner lebih kecil dari 1,5 MB.
File profil yang dihasilkan biasanya bernama startup-prof.txt dan
baseline-prof.txt.
Profil Dasar Pengukuran
File Profil Dasar Pengukuran berisi serangkaian aturan komprehensif yang digunakan ART untuk mengompilasi jalur kode yang sering digunakan sebelumnya, yang mengoptimalkan startup aplikasi, mengurangi jank interaksi, dan meningkatkan performa runtime secara keseluruhan.
File Profil Dasar Pengukuran umumnya merupakan superset aturan yang ditemukan di Profil Peluncuran Anda. File ini mencakup semua aturan yang diperlukan untuk pengoptimalan peluncuran aplikasi (dibuat melalui tugas Gradle baselineProfile), beserta profil tambahan untuk perjalanan pengguna penting lainnya. Misalnya, men-scroll,
dan menavigasi layar yang berbeda.
Aturan non-startup ini dibuat terlepas dari nilai kolom konfigurasi
includeInStartupProfile. Untuk mengetahui informasi selengkapnya, lihat
Ringkasan Profil Dasar Pengukuran.
Profil Startup
File Profil Startup berisi aturan yang dioptimalkan secara khusus untuk jalur startup aplikasi Anda. Selama kompilasi, D8 dan R8 menggunakan bytecode Java untuk menghasilkan file Dalvik executable (DEX). D8 dan R8 menggunakan Profil Startup untuk mengoptimalkan tata letak DEX dengan menempatkan kode startup penting dalam file .dex utama agar pemuatan class lebih cepat. Untuk mendapatkan peningkatan performa yang paling signifikan, kode startup harus ada dalam file .dex utama ini. Jika ukuran kumulatif kode startup terlalu besar, kode tersebut akan meluap ke file DEX berikutnya, yang sering kali diisi dengan class dan metode yang tidak penting serta memperlambat startup.
Meskipun Profil Startup menyediakan metadata yang diperlukan untuk pengoptimalan tata letak DEX, pengoptimalan kode R8 dapat sangat efektif dalam membantu proses ini. Dengan menghapus kode yang tidak digunakan dan meminimalkan bytecode, R8 mengurangi total
jejak logika startup. Pengurangan ini meningkatkan kemungkinan bahwa kode penting tetap berada dalam file .dex utama, sehingga mencegah overflow dan memastikan eksekusi yang lebih efisien di berbagai versi Android.
Anda umumnya harus menyetel includeInStartupProfile ke true hanya untuk skenario pengujian yang penting untuk tampilan awal aplikasi.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan Profil Startup.