Aşağıdaki araçları kullanarak kitaplığın davranışını yapılandırın
bağımsız değişkenlerdir. Bunları Gradle yapılandırmanıza ekleyebilir veya uygulayabilirsiniz.
doğrudan komut satırından çalıştırırken: Bunları ayarlamak için
komut satırı test çalıştırmaları için bağımsız değişkenler kullanıyorsanız, bunları
testInstrumentationRunnerArguments
:
android {
defaultConfig {
// ...
testInstrumentationRunnerArguments["androidx.benchmark.dryRunMode.enable"] = "true"
}
}
Ayrıca, karşılaştırmaları çalıştırırken araç bağımsız değişkenlerini de Android Studio'ya gidin. Bağımsız değişkenleri değiştirmek için aşağıdakileri yapın:
- Çalıştırma yapılandırmasını düzenlemek için Düzenle'yi ve ardından yapılandırma.
- Araç bağımsız değişkenlerini düzenlemek için Diğer: Araç bağımsız değişkenleri.
- Şu simgeyi tıklayarak gerekli araç bağımsız değişkenini ekleyin: Araç<br> altına ekleyin Ek parametreler.
Doğrudan komut satırından arama yapıyorsanız -P
android.testInstrumentationRunnerArguments.[name of the argument]
komutunu kullanın.
./gradlew :benchmark:connectedAndroidTest -P android.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile
androidx.benchmark.compilation.enabled
Karşılaştırmanın her yinelemesi arasındaki derlemeyi devre dışı bırakmanıza olanak tanır. Ölçüt
her bir uygulama için hedef uygulama yeniden yüklenir ve
CompilationMode
dikkate alınarak
measureRepeated
. Bunu devre dışı bıraktığınızda her iki reklamı da atlayabilirsiniz.
yeniden yükleme ve derleme gibi işlemler için hedefi tam olarak derlemek
test paketi çalıştırmadan önce bir kez test edin ve tüm karşılaştırmaları
derlenmiş hedeftir.
- Bağımsız değişken türü: boole
- Varsayılan ayar:
true
androidx.benchmark.dryRunMode.enable
Düzgün çalışıp çalışmadıklarını doğrulamak için tek bir döngüde karşılaştırmalar çalıştırmanızı sağlar. Doğrulamanın bir parçası olarak düzenli testlerle birlikte kullanabilirsiniz.
- Bağımsız değişken türü: boole
- Varsayılan ayar:
false
androidx.benchmark.enabledRules
Yalnızca tek bir test türünde yapılan filtrelemeye izin verir: Temel Profil oluşturma veya Macrobenchmark testi. Virgülle ayrılmış listeler de desteklenir.
- Bağımsız değişken türü: dize
- Kullanılabilir seçenekler:
Macrobenchmark
BaselineProfile
- Varsayılan ayar: Belirtilmedi
androidx.benchmark.junit4.SideEffectRunListener
Alakasız arka plan çalışması gerçekleşirse tutarsız karşılaştırma sonuçları karşılaştırma yapılır.
Karşılaştırma sırasında arka planda çalışmayı devre dışı bırakmak için listener
araç bağımsız değişken türünü
androidx.benchmark.junit4.SideEffectRunListener
.
- Bağımsız değişken türü: dize
- Kullanılabilir seçenekler:
androidx.benchmark.junit4.SideEffectRunListener
- Varsayılan ayar: belirtilmedi
androidx.benchmark.fullTracing.enable
Jetpack Compose gibi androidx.tracing.perfetto
izleme noktalarını etkinleştirir
bileşim izleme.
Kompozisyon izlemeyi yakalamak için projenizi oluşturmanız gerekir bazı işaretler bulabilirsiniz. Daha fazla bilgi için Jetpack ile iz bulma başlıklı makaleyi inceleyin Macrobenchmark değerlerinden biri.
- Bağımsız değişken türü: boole
- Varsayılan ayar:
false
androidx.benchmark.profilleme.modu
Karşılaştırmaları çalıştırırken izleme dosyalarının yakalanmasını sağlar. Mevcut seçenekler Microbenchmark kitaplığıyla aynıdır. Daha fazla bilgi için açıklamaları Mikro Karşılaştırma profili oluşturun.
- Bağımsız değişken türü: dize
- Kullanılabilir seçenekler:
MethodTracing
StackSampling
None
- Varsayılan ayar:
None
androidx.benchmark.startupProfiles.enable
Karşılaştırma sırasında başlangıç profili oluşturulmasını devre dışı bırakmanıza olanak tanır.
- Bağımsız değişken türü: boole
- Varsayılan ayar:
true
androidx.benchmark.suppressErrors
Uyarıya dönüştürmek için virgülle ayrılmış hata listesini kabul eder.
- Bağımsız değişken türü: dizelerin listesi
Kullanılabilir seçenekler:
DEBUGGABLE
DEBUGGABLE
hatası, hedef paketin Manifest'indedebuggable=true
. Bu, çalışma zamanını büyük ölçüde kısaltır hata ayıklama özelliklerini destekleyecek şekilde performans. Bu hatadan kaçınmak içindebuggable=false
ile karşılaştırma. Hata ayıklaması yapılabilir bağımsız değişken, performans artışını, karşılaştırmalı iyileştirmelerle anlamlı sonuçlar elde veya regresyon sürümü performansını etkileyebilir.LOW-BATTERY
Pil seviyesi azaldığında cihazlar genellikle pil tasarrufu yapmak için performansı düşürür (ör. büyük çekirdekleri devre dışı bırakarak). Bu durum Cihazların takılı olduğunu unutmayın. Bu hatayı yalnızca bilinçli olarak düşük performansla uygulamanın profilini çıkarma
EMULATOR
EMULATOR
hatası, karşılaştırmanın emülatörü kullanın. Emülatör Karşılaştırma iyileştirmeleri gerçek bir kullanıcının deneyimine gerçek cihaz performansını düşürebilir. fiziksel bir cihazı karşılaştırabilirsiniz. Bu hatayı çok dikkatli bir şekilde bastırın.NOT-PROFILEABLE
$packageName
hedef paketi olmadan çalışıyor<profileable shell=true>
. Profillenebilirlik, Android 10 ve 11'de gereklidir Böylece, Macrobenchmark'ın hedeften ayrıntılı izleme bilgilerini yakalamasını sağlarsınız. (ör. uygulamada tanımlanan sistem izleme bölümleri veya kitaplıklar. Bu hatayı çok dikkatli bir şekilde bastırın.METHOD-TRACING-ENABLED
Karşılaştırılmakta olan uygulama için Macrobenchmark çalıştırmasında yöntem izleme vardır. etkin. Bu durum sanal makinenin normalden daha yavaş çalışmasına neden olur. Bu nedenle yalnızca göreceli olarak izleme dosyalarındaki metrikleri gösterir; örneğin, ve ikinci koşunun hızını karşılaştırabilirsiniz. Bu engelleniyor Karşılaştırmaları karşılaştırırsanız farklı yöntem izleme seçenekleriyle tanıtabilirsiniz.
Varsayılan ayar: Boş liste
ekTestÇıkışDir
JSON karşılaştırma raporlarının ve profil oluşturma sonuçlarının kaydedileceği yeri yapılandırır olanak tanır.
- Bağımsız değişken türü: yol dizesi
- Varsayılan ayar: APK'nın harici dizini
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Mikro Karşılaştırma Aracı Bağımsız Değişkenleri
- Temel Profiller Oluşturma
- JankStats Kitaplığı