Özel görünüm performansı nasıl test edilir?
Özel bileşen kullanıcı arayüzü oluşturma performansımı test etmek istiyorum. Oluşturma performansını kontrol etmek için aşağıdaki test senaryosunu kullandım.
private long getLayoutTime(int layoutRes) {
final Context targetContext = getInstrumentation().getTargetContext();
final LayoutInflater layoutInflater = LayoutInflater.from(targetContext);
final long startTime = System.currentTimeMillis();
for (int i = 0; i < 1000; i++) {
final View view = layoutInflater.inflate(layoutRes, null);
view.setLayoutParams(new ViewGroup.LayoutParams(0, 0));
view.measure(View.MeasureSpec.makeMeasureSpec(1000, View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
final int measuredHeight = view.getMeasuredHeight();
final int measuredWidth = view.getMeasuredWidth();
view.layout(0, 0, measuredWidth, measuredHeight);
}
return System.currentTimeMillis() - startTime;
}
Bu kodu kullanarak düzen oluşturma zamanlamasını test edebilirim. Böylece daha iyi performans için yerleşim tasarımını değiştirdim. Şimdi, görüntüler, metin görünümleri vb. Gibi birden çok düzen ve bileşen içeren bir Özel görünüm sınıfı oluşturuyorum. Sınıfı çalışma zamanında ekleyeceğim ve bileşenler, sunucu yanıtına göre çalışma zamanında oluşturacak. Bu özel bileşeni XML'e eklemeyeceğim. Şimdi bu özel görünümün oluşturma performansını test etmek istiyorum. Lütfen bana herhangi bir araç veya özel görünüm için kullanıcı arayüzü oluşturma süresini hesaplamanın herhangi bir yolunu önerin.
Profiler resmim.

Yanıtlar
Android studio yerleşik araç profilleyicisini (sol alt panelde) kullanarak performansı kolayca ölçebilirsiniz. önemli: müşteri görünümü performansı çalışan bir cihaza bağlıdır. Redmi 7a için test ettiğim bir örnek burada
cihaz: redmi 7a RAM: 2GB
private fun startTest() {
for (x in 0..10000) {
val textview = TextView(this)?.apply { text = "Dummy Text $x" }
mLinearLayout?.addView(textview)
}
}
- proje yürütmek
- profil oluşturucuyu başlat, grafik normale dönene kadar bekle
- düğmesine tıklayın startTest (), grafiğin normalden yükseğe çıktığını göreceksiniz
- Grafiğin yüksek alanını kapsayan alanı seçin ve başlangıç ve bitiş zamanını görün
- basit bir hesap makinesi kullanın ve farkı ölçün
benim test senaryosu sonucum: doğrusal düzende 10000 kez metin görünümü eklemek 32.411 saniye sürer (cihaz bilgisi yukarıda verilmiştir)
