ProfilYükleyici
Son Güncelleme | Kararlı Sürüm | Yayın Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
4 Eylül 2024 | 1.3.1 | 1.4.0-rc01 | - | - |
Bağımlılıkları bildirme
ProfileLoader'a bağımlılık eklemek için belirler. Google'ın Maven deposunu okuyun konulu videomuzu izleyin.
build.gradle
dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin.
uygulamanız veya modülünüz:
Eski
dependencies { implementation "androidx.profileinstaller:profileinstaller:1.3.1" }
Kotlin
dependencies { implementation("androidx.profileinstaller:profileinstaller:1.3.1") }
Bağımlılıklar hakkında daha fazla bilgi edinmek için Derleme bağımlılıkları ekleme bölümüne bakın.
Geri bildirim
Geri bildiriminiz Jetpack'i iyileştirmemize yardımcı olacaktır. Yeni sorunlarla karşılaşırsanız veya fikir edinebilirsiniz. Daha fazla bilgi için lütfen mevcut sorunlar tıklayın. Oyunuzu mevcut bir soruna eklemek için yıldız düğmesini tıklayın.
Sorun İzleyici dokümanlarına bakın konulu videomuzu izleyin.
Sürüm 1.4
Sürüm 1.4.0-rc01
4 Eylül 2024
androidx.profileinstaller:profileinstaller:1.4.0-rc01
, son beta sürümden herhangi bir değişiklik yapılmadan yayınlandı. Sürüm 1.4.0-rc01 bu kayıtları içerir.
Sürüm 1.4.0-beta01
21 Ağustos 2024
androidx.profileinstaller:profileinstaller:1.4.0-beta01
, son alfa sürümündeki hiçbir değişiklik yapılmadan yayınlandı. Sürüm 1.4.0-beta01 bu taahhütleri içerir.
Sürüm 1.4.0-alpha02
7 Ağustos 2024
androidx.profileinstaller:profileinstaller:1.4.0-alpha02
yayınlandı. Sürüm 1.4.0-alpha02 bu kaydetmeleri içerir.
Yeni Özellikler
- Profil Yükleyici'ye api 35 desteği eklendi. (6f9f6fa)
Hata Düzeltmeleri
- Bu durum, AGP 7.3 veya sonraki bir sürümle R8 kullanılırken (ör. R8 sürüm 3.3) ve AGP 8.1 veya sonraki sürümler kullanılırken tüm derlemeler (ör. D8 sürümü 8.1) için API modellemesi aracılığıyla otomatik olarak gerçekleştirildiğinden, yeni platform API'lerine erişimin manuel olarak özetlenmesi kaldırıldı. AGP kullanmayan müşterilerin D8 sürümüne 8.1 veya daha yeni bir sürüme geçmeleri önerilir. Daha fazla bilgi için bu makaleyi inceleyin. (If6b4c, b/345472586)
Sürüm 1.4.0-alpha01
7 Şubat 2024
androidx.profileinstaller:profileinstaller:1.4.0-alpha01
yayınlandı. 1.4.0-alpha01 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Profil doğrulayıcıya yerleştirilmiş profil yok için hata kodu eklendi. (Ifb109, b/313928520)
- Android U (API 34) ve emülatörlerde gölgelendirici bırakılırken oluşan kilitlenmeler düzeltildi. (I031ca, b/274314544)
- Profil yükleyicide Android U desteği etkinleştirildi. (Iaf177)
- İşlem başladığında mevcut profilin boş oluşturulmaması nedeniyle Android U'daki profil yükleyicinin başarısız olması sorunu düzeltildi. (Ie3899)
V_015S
profili biçimindeki bit eşlem kod dönüştürme yöntemini düzeltin. (aosp/2906631) ve (aosp/2847740)
Sürüm 1.3
Sürüm 1.3.1
3 Mayıs 2023
androidx.profileinstaller:profileinstaller:1.3.1
yayınlandı. Sürüm 1.3.1 bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Profil yükleyicide Android U desteği etkinleştirildi (Iaf177)
- İşlem başladığında mevcut profilin boş oluşturulmaması nedeniyle Android U'daki profil yükleyicinin başarısız olması sorunu düzeltildi. (Ie3899)
Sürüm 1.3.0
22 Mart 2023
androidx.profileinstaller:profileinstaller:1.3.0
yayınlandı. 1.3.0 sürümü bu kaydetmeleri içerir.
1.2.0'dan bu yana önemli değişiklikler
ProfileInstallReceiver
içindeki birNullPointerException
düzeltildi. (b/243851384)- Temel profilin derlenmiş, planlanmış veya eksik olup olmadığının uygulama içinden kontrol edilmesi için
ProfileVerifier
API'si eklendi (I263a4, b/246653809) - Macrobenchmark'ın referans profil oluşturmaya dahil edilmek üzere bellek içi profil verilerini diske tamamen temizlemesini sağlayan yeni bir kabuk yayını ekler. Bu işlem, makro karşılaştırma kitaplığını kullanarak
BaselineProfileRule
ile temel profilleri yakalamak veCompilationMode.Partial(warmupIterations)
kullanarak profil performansını değerlendirmek için gereklidir. - Sıkıştırılmış referans profilleri tespit etmek için teşhis kodu eklendi. Sıkıştırılmış referans profiller, CPU ek yükü nedeniyle Profil Yükleyici tarafından Macrobenchmarks'ta veya üretimde yüklenemez. Uygulamanızı oluştururken, Studio/AGP Electric Eel veya
bundletool
sürümüne1.13.1
(I86413, b/261998144) güncelleyerek uygulamanızı oluştururken bu profilden kaçınılmalıdır. - Rootlanmamış cihazlarda Temel Profil veya makro karşılaştırma hedefi (Ie0a7d, b/250083467, b/253094958) (Ia5741, b/23145) oluşturmak için gerekli olan, profilleri ve alt gölgelendirici önbelleğini yakalamak amacıyla makro karşılaştırma için kancalar eklendi. b/23145
Sürüm 1.3.0-rc01
8 Mart 2023
androidx.profileinstaller:profileinstaller:1.3.0-rc01
, son beta sürümünden bu yana hiçbir değişiklik yapılmadan yayınlandı. Sürüm 1.3.0-rc01 bu kaydetmeleri içerir.
Sürüm 1.3.0-beta01
8 Şubat 2023
androidx.profileinstaller:profileinstaller:1.3.0-beta01
yayınlandı. Sürüm 1.3.0-beta01 bu kaydetmeleri içerir.
API Değişiklikleri
- Sıkıştırılmış profilleri işleme desteğini kaldırır. Sıkıştırılmış profillerin açılması ve açılması, başlatma sırasında CPU kullanımında 10 ms regresyona neden olur. Dolayısıyla, bunun yerine yanlış şekilde sıkıştırılmış temel profilleri keşfetmek için bir teşhis bilgisi eklendi. (I86413, b/261998144)
Sürüm 1.3.0-alpha03
11 Ocak 2023
androidx.profileinstaller:profileinstaller:1.3.0-alpha03
yayınlandı. 1.3.0-alpha03 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Sıkıştırılmış veya sıkıştırılmamış referans profillerin (Ic61a0) işlenmesini etkinleştirir
- Profil yükleyici manifestindeki (I5c728, b/258619948) yayın kaydını düzelterek
MacrobenchmarkScope.dropShaderCache()
uygulamasının kilitlenmesini önlemek için sorunları giderin
Sürüm 1.3.0-alpha02
9 Kasım 2022
androidx.profileinstaller:profileinstaller:1.3.0-alpha02
yayınlandı. 1.3.0-alpha02 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Baştan başlatma işlemlerinde (özellikle de ısınma iterasyonlarından elde edilen profillerle derleme yaparken) tutarlı performans sağlamak amacıyla, gölgelendirici önbelleğini düşürmek için karşılaştırmalara kanca eklendi. Bu güncelleme,
benchmark-macro-junit4:1.2.0-alpha05
veya sonraki bir sürümü kullanan baştan başlatmaları ölçmek için gereklidir. Karşılaştırma kitaplığının API değişiklikleri için lütfen Karşılaştırma 1.2.0-alpha07 sayfasına bakın. (Ia5171, b/231455742)
Sürüm 1.3.0-alpha01
24 Ekim 2022
androidx.profileinstaller:profileinstaller:1.3.0-alpha01
yayınlandı. 1.3.0-alpha01 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Bir temel profilin derlenmiş, planlanmış veya eksik olup olmadığının uygulama içinden kontrol edilmesi için
ProfileVerifier
API'si eklendi (I263a4, b/246653809) - Macrobenchmark'ın referans profil oluşturmaya dahil edilmek üzere bellek içi profil verilerini diske tamamen temizlemesini sağlayan yeni bir kabuk yayını ekler. Bu işlem, makro karşılaştırma kitaplığını kullanarak
BaselineProfileRule
ile temel profilleri yakalamak veCompilationMode.Partial(warmupIterations)
kullanarak profil performansını değerlendirmek için gereklidir. (Ie0a7d, b/250083467, b/253094958)
Sürüm 1.2.2
Sürüm 1.2.2
11 Ocak 2023
androidx.profileinstaller:profileinstaller:1.2.2
yayınlandı. 1.2.2 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Sıkıştırılmış veya sıkıştırılmamış referans profillerin (Ic61a0) işlenmesini etkinleştirir
Sürüm 1.2.1
Sürüm 1.2.1
7 Aralık 2022
androidx.profileinstaller:profileinstaller:1.2.1
yayınlandı. Sürüm 1.2.1 bu kaydetmeleri içerir.
Yeni Özellikler
- S_V2 (API 32) ve TIRAMISU (API 33) (b/254900303) için profil yükleyiciyi etkinleştirin.
Sürüm 1.2.0
Sürüm 1.2.0
27 Temmuz 2022
androidx.profileinstaller:profileinstaller:1.2.0
yayınlandı. 1.2.0 sürümü bu kaydetmeleri içerir.
1.1.0'dan bu yana önemli değişiklikler
- Android 12 ve sonraki sürümlerde kullanılan ART profili biçimi için destek eklendi.
- Referans profilleri kullanırken
Macrobenchmarks
ile daha tutarlı sonuçlar elde etmek içinProfileInstallReceiver
uygulamasına yeni API'ler ekleyin.
Sürüm 1.2.0-rc01
15 Haziran 2022
androidx.profileinstaller:profileinstaller:1.2.0-rc01
yayınlandı. Sürüm 1.2.0-rc01 bu kaydetmeleri içerir.
- Bu sürüm,
androidx.profileinstaller:profileinstaller:1.2.0-beta03
sürümüyle aynı.
Sürüm 1.2.0-beta03
1 Haziran 2022
androidx.profileinstaller:profileinstaller:1.2.0-beta03
yayınlandı. Sürüm 1.2.0-beta03 bu kaydetmeleri içerir.
Sürüm 1.2.0-beta02
18 Mayıs 2022
androidx.profileinstaller:profileinstaller:1.2.0-beta02
yayınlandı. Sürüm 1.2.0-beta02 bu kaydetmeleri içerir.
- Değişiklik yok. Compose 1.2.0-beta02 sürümlerini desteklemek için gerekti.
Sürüm 1.2.0-beta01
11 Mayıs 2022
androidx.profileinstaller:profileinstaller:1.2.0-beta01
yayınlandı. Sürüm 1.2.0-beta01 bu kaydetmeleri içerir.
API Değişiklikleri
- Referans profilleri kullanırken
Macrobenchmarks
ile daha tutarlı sonuçlar elde etmek içinProfileInstallReceiver
uygulamasına yeni API'ler ekleyin. (If2ae5, b/215740637)
Hata Düzeltmeleri
- Profil Yükleyici, Android 12 ve sonraki sürümlerde meta veri
V_001
biçimini kullanmaya çalışırken faydalı bir mesaj verir. (aosp/1978526, b/217502387) - Profil Yükleyici artık
androidx.startup
1.1.1
sürümünü kullanıyor. (aosp/2077099, b/229828376)
Sürüm 1.2.0-alpha02
26 Ocak 2022
androidx.profileinstaller:profileinstaller:1.2.0-alpha02
yayınlandı. 1.2.0-alpha02 sürümü bu kaydetmeleri içerir.
Bu sürüm, 1.2.0-alpha01
sürümüyle aynı.
Sürüm 1.2.0-alpha01
12 Ocak 2022
androidx.profileinstaller:profileinstaller:1.2.0-alpha01
yayınlandı. Sürüm 1.2.0-alpha01 bu kaydetmeleri içerir.
Yeni Özellikler
- Android 12 ve sonraki sürümlerde kullanılan ART profili biçimi için destek eklendi.
Sürüm 1.1.0
Sürüm 1.1.0
9 Şubat 2022
androidx.profileinstaller:profileinstaller:1.1.0
yayınlandı. 1.1.0 sürümü bu kaydetmeleri içerir.
Sürüm 1.1.0-rc01
15 Aralık 2021
androidx.profileinstaller:profileinstaller:1.1.0-rc01
, 1.1.0-beta04 sürümünden bu yana güncelleme olmadan yayınlandı. Sürüm 1.1.0-rc01 bu kaydetmeleri içerir.
Sürüm 1.1.0-beta04
1 Aralık 2021
androidx.profileinstaller:profileinstaller:1.1.0-beta04
yayınlandı. Sürüm 1.1.0-beta04 bu kaydetmeleri içerir.
Sürüm 1.1.0-beta03
17 Kasım 2021
androidx.profileinstaller:profileinstaller:1.1.0-beta03
yayınlandı. Sürüm 1.1.0-beta03 bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Compose 1.1.0-beta03'ü destekleyecek şekilde güncellendi
Sürüm 1.1.0-beta02
3 Kasım 2021
androidx.profileinstaller:profileinstaller:1.1.0-beta02
yayınlandı. Sürüm 1.1.0-beta02 bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Compose 1.1.0-beta02'yi destekleyecek şekilde güncellendi
Sürüm 1.1.0-beta01
27 Ekim 2021
androidx.profileinstaller:profileinstaller:1.1.0-beta01
yayınlandı. Sürüm 1.1.0-beta01 bu kaydetmeleri içerir.
- 1.1.0-alpha07'den beri değişiklik yok.
Sürüm 1.1.0-alpha07
13 Ekim 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha07
yayınlandı. 1.1.0-alpha07 sürümü bu kaydetmeleri içerir.
Yeni Özellikler
- Android N sürümüne profm desteği eklendi
Sürüm 1.1.0-alpha06
29 Eylül 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha06
yayınlandı. 1.1.0-alpha06 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
- N, O ve O_MR1'de profil yükleyici kod dönüştürme sorunlarını düzeltin. (I12d75)
Sürüm 1.1.0-alpha05
15 Eylül 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha05
yayınlandı. 1.1.0-alpha05 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Multidex apk'ler için Android Nougat ve Android Oreo profili kod dönüştürme işlemi düzeltildi.
Sürüm 1.1.0-alpha04
1 Eylül 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha04
yayınlandı. 1.1.0-alpha04 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Referans profilleri kullanan uygulamaların
CompilationMode.BaselineProfile
ile MacroBenchmarks çalıştırmasını kolaylaştırmak içinProfileInstaller
hatasını düzeltin. (I42657, b/196074999)
Sürüm 1.1.0-alpha03
18 Ağustos 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha03
yayınlandı. 1.1.0-alpha03 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Uygulamanın dosya dizinindeki bir dosyada PackageInfo.lastUpdatedTime ve bunu, profili bir sonraki çalıştırmada yüklemeden önce karşılaştırmaktır. (Ib93d1)
- P, Q, R cihazlardaki profil biçimini ART gereksinimlerine uygun olacak şekilde ayarlayın (I84e89)
Sürüm 1.1.0-alpha02
4 Ağustos 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha02
yayınlandı. 1.1.0-alpha02 sürümü bu kaydetmeleri içerir.
Oluşturma 1.1.0-alpha01 ile uyumlu olacak şekilde güncellendi.
Sürüm 1.1.0-alpha01
21 Temmuz 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha01
yayınlandı. Sürüm 1.1.0-alpha01 bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Bazı durumlarda yüksek düzey modunu tetikleyebilecek hata düzeltildi.
Sürüm 1.0
Sürüm 1.0.4
13 Ekim 2021
androidx.profileinstaller:profileinstaller:1.0.4
yayınlandı. 1.0.4 sürümü bu kaydetmeleri içerir.
- Compose 1.0.4'ü destekleyecek şekilde güncellendi
Sürüm 1.0.3
29 Eylül 2021
androidx.profileinstaller:profileinstaller:1.0.3
yayınlandı. 1.0.3 sürümü bu kaydetmeleri içerir.
- Compose 1.0.3'ü destekleyecek şekilde güncellendi
Sürüm 1.0.2
1 Eylül 2021
androidx.profileinstaller:profileinstaller:1.0.2
yayınlandı. 1.0.2 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
- P, Q, R cihazlar için profil kod dönüştürme özelliği eklendi. Bu değişiklik, bu cihazların profilin kodunu dönüştüreceği ve yazılı profilin ART tarafından her zaman kullanılabilmesini sağlayacağı anlamına gelir. Daha önce kod dönüştürme işlemi bu platformlarda atlanıyordu. Bu durum, ART'ın bazen kaynak profili işleyememesine neden oluyordu. Geliştirici API'lerinde değişiklik yapılmamıştır.
Sürüm 1.0.1
4 Ağustos 2021
androidx.profileinstaller:profileinstaller:1.0.1
yayınlandı. Sürüm 1.0.1 bu kaydetmeleri içerir.
Oluşturma 1.0.1 ile uyumlu olacak şekilde güncellendi.
Sürüm 1.0.0
28 Temmuz 2021
androidx.profileinstaller:profileinstaller:1.0.0
yayınlandı. 1.0.0 sürümü bu kaydetmeleri içerir.
1.0.0'ın temel özellikleri
Profil yükleyici, kitaplıkların ve uygulamaların "Profil Kuralları"nı tanımlamasına ve ART profil bilgilerini bir APK ile paketlemesine olanak tanıyan yeni bir kitaplıktır. Bu kitaplık, söz konusu profilleri uygulama başlatıldıktan sonra yükler. Bu özellik, uygulama performansını iyileştirmek için kullanılabilir.
Bu profil kurallarının ne olduğu ve nasıl çalıştığı hakkında daha fazla bilgi edinmek için lütfen 1.0.0-beta01 adresindeki ayrıntılı sürüm notlarına göz atın.
Sürüm 1.0.0-rc02
14 Temmuz 2021
androidx.profileinstaller:profileinstaller:1.0.0-rc02
yayınlandı. Sürüm 1.0.0-rc02 bu kaydetmeleri içerir.
Sürüm 1.0.0-rc01
1 Temmuz 2021
androidx.profileinstaller:profileinstaller:1.0.0-rc01
yayınlandı. Sürüm 1.0.0-rc01 bu kaydetmeleri içerir.
Bu, beta sürümünde değişiklik içermeyen bir RC sürümüdür.
Sürüm 1.0.0-beta01
16 Haziran 2021
androidx.profileinstaller:profileinstaller:1.0.0-beta01
yayınlandı. Sürüm 1.0.0-beta01 bu kaydetmeleri içerir.
Kütüphanenin Amacı
Profil yükleyici, kitaplıkların ve uygulamaların "Profil Kuralları"nı tanımlamasına ve ART profil bilgilerini bir APK ile paketlemesine olanak tanıyan yeni bir kitaplıktır. Bu kitaplık, söz konusu profilleri uygulama başlatıldıktan sonra yükler. Bu özellik, uygulama performansını iyileştirmek için kullanılabilir.
Profil yükleme işlemi androidx.startup kitaplığıyla gerçekleştirilmiştir. Herhangi bir nedenle profil yüklemeyi devre dışı bırakmak isteyen kişiler, manifest dosyasında değişiklik yaparak bunu kaldırabilir:
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
android:exported="false"
tools:node="merge">
<meta-data android:name="androidx.profileinstaller.ProfileInstallerInitializer"
tools:node="remove" />
</provider>
Bu, özellikle uygulamanız için önemli olmayan başlatma gereksinimleri varsa ve profil yükleme işlemini ProfileInstaller.writeProfile
API'yi kullanarak manuel olarak tetiklemek istiyorsanız yararlıdır.
Profil kuralları nedir?
Bir kitaplığa ilişkin profil kuralları,
src/main
veya eşdeğer dizinde bulunan bir metin dosyasında (baseline-prof.txt
) belirtilir. Dosya, her satır için bir kural belirtir. Bu durumda kural, kitaplıktaki yöntemler veya sınıflarla eşleştirmeye yönelik bir kalıptır. Bu kuralların söz dizimi,adb shell profman --dump-classes-and-methods ...
kullanılırken kullanılan, okunabilir ART profili biçiminin üst kümesidir. Bu kurallar, yöntemleri veya sınıfları hedeflemek için iki biçimden birini alır.Bir yöntem kuralı aşağıdaki kalıba sahip olur:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
Sınıf kuralı da aşağıdaki kalıba sahip olur:
<CLASS_DESCRIPTOR>
Burada
<FLAGS>
, bu yöntemin "Popüler", "Başlangıç" veya "Başlangıç Sonrası" olarak işaretlenip işaretlenmeyeceğini belirtmek içinH
,S
veP
karakterlerinden bir veya daha fazlasını göstermektedir.<CLASS_DESCRIPTOR>
, hedeflenen yöntemin ait olduğu sınıfın tanımlayıcısıdır. Örneğin,androidx.compose.runtime.SlotTable
sınıfının tanımlayıcısıLandroidx/compose/runtime/SlotTable;
olur.<METHOD_SIGNATURE>
, yöntemin imzasıdır ve yöntemin adını, parametre türlerini ve döndürme türlerini içerir. Örneğin,LayoutNode
sitesindekifun isPlaced(): Boolean
yöntemiisPlaced()Z
imzasına sahiptir.Tek bir kuralın birden fazla yöntem veya sınıfı kapsaması için bu kalıplar joker karakterler (
**
,*
ve?
) içerebilir.
Kurallar ne işe yarar?
H
işaretine sahip bir yöntem, bu yöntemin "çalışıyor" olduğunu gösterir yöntemidir ve önceden derlenmesi gerekir.S
işaretine sahip bir yöntem, bu yöntemin başlangıçta çağrılan bir yöntem olduğunu ve derleme ve başlatma sırasında yöntemi yorumlama maliyetinden kaçınmak için önceden derlenmesi gerektiğini belirtir.P
işaretine sahip bir yöntem, bunun başlatmadan sonra çağrılan bir yöntem olduğunu gösterir.Bu dosyada bulunan bir sınıf, başlangıç sırasında kullanıldığını ve sınıf yükleme maliyetinden kaçınmak için yığına önceden ayrılması gerektiğini belirtir.
Nasıl çalışır?
Kitaplıklar, AAR yapılarında paketlenecek bu kuralları tanımlayabilir. Ardından, bu yapıları içeren bir APK oluşturulduğunda bu kurallar birleştirilir ve birleştirilmiş kurallar, APK'ya özel küçük bir ikili ART profili oluşturmak için kullanılır. ART, özellikle ilk çalıştırmada uygulamanın performansını iyileştirmek amacıyla uygulamanın belirli bir alt kümesini önceden derlemek için APK cihazlara yüklendiğinde bu profilden yararlanabilir. Bunun, hata ayıklaması yapılabilecek uygulamalar üzerinde herhangi bir etkisi olmayacağını unutmayın.
Kural dosyaları
baseline-prof.txt
olarak adlandırılmalı ve ana kaynak kümenizin kök dizinine yerleştirilmelidir (AndroidManifset.xml
dosyanızla eşdüzey bir dosya olmalıdır)Şu anda bu dosyalar yalnızca Android Gradle Plugin 7.0+ kullanıyorsanız ve şu anda yalnızca
gradle.properties
üzerinde bir işaret ile etkinleştirildiğinde kullanılır:# Enable adding baseline-prof.txt files to AAR artifacts, and binary profiles to APKs android.experimental.enableArtProfiles=true
Profiller için denge gerekiyor
- Başlangıç yolunda ve performans açısından kritik öneme sahip olacak yöntemlerin ve sınıfların doğru şekilde önceliklendirilmesini sağlayan, doğru şekilde oluşturulmuş profiller en iyi sonuçları verir. Ancak profillere çok fazla yöntem veya sınıf eklemek, bellek tüketimi ve disk kullanımı açısından olumsuz yönde bir etkiye neden olabilir. Bu nedenle, kendi profil kurallarınızı tanımlarken dikkatli bir şekilde başlamanız önerilir.