Menggunakan profil dasar pengukuran
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Profil Dasar Pengukuran meningkatkan kecepatan eksekusi kode sekitar 30% sejak peluncuran
pertama dengan menghindari langkah interpretasi dan kompilasi tepat waktu (JIT) untuk
jalur kode yang disertakan. Dengan mengirimkan Profil Dasar Pengukuran dalam aplikasi atau library, Anda
mengaktifkan Android Runtime (ART) untuk mengoptimalkan jalur kode yang disertakan melalui
kompilasi menjelang waktu (AOT), yang memberikan peningkatan performa untuk setiap
penginstalan aplikasi baru dan setiap update aplikasi. Pengoptimalan yang dipandu profil (PGO)
ini memungkinkan aplikasi mengoptimalkan startup, mengurangi jank interaksi, dan meningkatkan performa runtime
secara keseluruhan sejak peluncuran pertama untuk pengguna akhir.
Pertimbangan performa Compose
Compose didistribusikan sebagai library, bukan sebagai bagian dari platform Android.
Pendekatan ini memungkinkan tim Compose mengupdate Compose secara rutin dan mendukung
berbagai versi Android. Namun, mendistribusikan Compose sebagai library akan menimbulkan
biaya.
Kode platform Android sudah dikompilasi dan diinstal di perangkat.
Namun, library harus dimuat saat aplikasi diluncurkan dan menginterpretasikan JIT
jika diperlukan. Hal ini dapat memperlambat aplikasi saat memulai dan saat menggunakan fitur library
untuk pertama kalinya.
Manfaat profil dasar pengukuran
Anda dapat meningkatkan performa dengan menentukan Profil Dasar Pengukuran. Profil ini
menentukan class dan metode yang diperlukan dalam perjalanan penting pengguna, serta didistribusikan
dengan APK atau AAB aplikasi Anda. Selama penginstalan aplikasi, ART mengompilasi AOT kode
penting ini agar siap digunakan saat aplikasi diluncurkan.
Definisi Profil Dasar Pengukuran yang baik tidak selalu mudah, dan karena
hal ini, Compose mengirimkan definisi Profil Dasar Pengukuran yang baik secara default. Anda mungkin tidak perlu melakukan apa pun
untuk melihat manfaat ini. Namun, Profil Dasar Pengukuran yang dikirimkan dengan Compose hanya
berisi pengoptimalan untuk kode dalam library Compose.
Macrobenchmark
Untuk mendapatkan pengoptimalan terbaik, buat Profil Dasar Pengukuran
untuk aplikasi Anda yang menggunakan Macrobenchmark untuk mencakup perjalanan penting pengguna. Saat
menentukan profil Anda sendiri, Anda harus menguji profil tersebut untuk memastikan bahwa
profil tersebut bermanfaat. Cara yang baik untuk melakukannya adalah dengan menulis pengujian Macrobenchmark untuk aplikasi
Anda dan memeriksa hasil pengujian saat menulis dan merevisi Profil Dasar Pengukuran.
Untuk contoh cara menulis pengujian Macrobenchmark untuk UI Compose, lihat
contoh Macrobenchmark Compose.
Referensi Tambahan
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Use a baseline profile\n\n[Baseline Profiles](/baseline-profiles) improve code execution speed by about 30% from the first\nlaunch by avoiding interpretation and just-in-time (JIT) compilation steps for\nincluded code paths. By shipping a Baseline Profile in an app or library, you\nenable Android Runtime (ART) to optimize included code paths through\nahead-of-time (AOT) compilation, providing performance enhancements for every\nnew app install and every app update. This profile-guided optimization (PGO)\nlets apps optimize startup, reduce interaction jank, and improve overall runtime\nperformance from the first launch for end users.\n\nCompose performance considerations\n----------------------------------\n\nCompose is distributed as a library instead of as part of the Android platform.\nThis approach lets the Compose team update Compose frequently and support a wide\nrange of Android versions. However, distributing Compose as a library imposes a\ncost.\n\nAndroid platform code is already compiled and installed on the device.\nLibraries, however, need to be loaded when the app launches and interpreted JIT\nwhen needed. This can slow the app on startup and when it uses a library feature\nfor the first time.\n\nBenefits of baseline profiles\n-----------------------------\n\nYou can improve performance by defining [Baseline Profiles](/topic/performance/baselineprofiles/overview). These profiles\ndefine classes and methods needed on critical user journeys and are distributed\nwith your app's APK or AAB. During app installation, ART compiles this critical\ncode AOT so that it's ready for use when the app launches.\n\nA good Baseline Profile definition is not always straightforward, and because\nof this, Compose ships with one by default. You might not have to do any work to\nsee this benefit. However, the Baseline Profile that ships with Compose only\ncontains optimizations for the code within the Compose library.\n\n### Macrobenchmark\n\nTo get the best optimization, [create a Baseline Profile](/topic/performance/baselineprofiles/create-baselineprofile)\nfor your app that uses [Macrobenchmark](/studio/profile/macrobenchmark-overview) to cover critical user journeys. When\nyou define your own profile, you must test the profile to verify that it's\nhelping. A good way to do that is to write [Macrobenchmark](/studio/profile/macrobenchmark-overview) tests for your\napp and check the test results as you write and revise your Baseline Profile.\n\nFor an example of how to write Macrobenchmark tests for your Compose UI, see the\n[Macrobenchmark Compose sample](https://github.com/android/performance-samples/tree/main/MacrobenchmarkSample).\n\nAdditional Resources\n--------------------\n\n- **[App performance guide](/topic/performance/overview)**: Discover best practices, libraries, and tools to improve performance on Android.\n- **[Inspect Performance](/topic/performance/inspecting-overview):** Inspect app performance.\n- **[Benchmarking](/topic/performance/benchmarking/benchmarking-overview):** Benchmark app performance.\n- **[App startup](/topic/performance/appstartup/analysis-optimization):** Optimize app startup.\n- **[Baseline profiles](/baseline-profiles):** Understand baseline profiles."]]