Uygulamanızı karşılaştırma

Karşılaştırmalı test, uygulamanızın performansını incelemenin ve izlemenin bir yoludur. Performans sorunlarını analiz etmek ve hata ayıklamak için düzenli olarak karşılaştırmalı testler çalıştırabilir, ayrıca son değişikliklerde gerileme olmamasına yardımcı olabilirsiniz.

Android, uygulamanızdaki farklı durumları analiz etmek ve test etmek için iki karşılaştırma kitaplığı ve yaklaşımı sunar: Makro Karşılaştırma ve Mikro Karşılaştırma.

Makro karşılaştırma

Macrobenchmark kitaplığı, başlatma, kullanıcı arayüzüyle etkileşim ve animasyonlar gibi daha büyük son kullanıcı etkileşimlerini ölçer. Kitaplık, test ettiğiniz performans ortamı üzerinde doğrudan kontrol sağlar. Derlemeyi kontrol etmenize ve uygulamanızı başlatıp durdurarak uygulamanın gerçek başlangıç veya kaydırma süresini doğrudan ölçmenize olanak tanır.

Macrobenchmark kitaplığı, testlerinizle oluşturulan bir test uygulamasından etkinlikleri ekler ve sonuçları harici olarak izler. Bu nedenle, karşılaştırmaları yazarken uygulamanızın kodunu doğrudan çağırmaz, bunun yerine uygulamanızda kullanıcı olarak gezinirsiniz.

Mikro karşılaştırma

Microbenchmark kitaplığı, uygulama kodunu doğrudan bir döngüde karşılaştırmanıza olanak tanır. Bu, bir iç döngüde veya belirli bir sıcak işlevde görebileceğiniz en iyi performansı (ör. ısıtılmış Just in Time (JIT) ve önbelleğe alınmış disk erişimleri) değerlendiren CPU çalışmasını ölçmek için tasarlanmıştır. ​​Kitaplık yalnızca doğrudan çağırabileceğiniz kodu tek başına ölçebilir.

Uygulamanızın karmaşık bir veri yapısını işlemesi gerekiyorsa veya uygulama çalışırken birden çok kez çağrılan, yoğun hesaplama gerektiren belirli bir algoritma varsa bu durumlar karşılaştırma için iyi örnekler olabilir. Kullanıcı arayüzünüzün bölümlerini de ölçebilirsiniz. Örneğin, RecyclerView öğe bağlamanın maliyetini, bir düzenin şişirilmesinin ne kadar sürdüğünü veya View sınıfınızın düzen oluşturma ve ölçme geçişinin performans açısından ne kadar talepkâr olduğunu ölçebilirsiniz.

Ancak karşılaştırmalı analiz yapılan destek kayıtlarının genel kullanıcı deneyimine nasıl katkıda bulunduğunu ölçemezsiniz. Bazı durumlarda karşılaştırma, takılma veya uygulama başlatma süresi gibi bir darboğazın iyileştirilip iyileştirilemediğini size söylemez. Bu nedenle, bu darboğazları önce Android Profiler ile tespit etmek çok önemlidir. İncelemek ve optimize etmek istediğiniz kodu bulduktan sonra, karşılaştırmalı döngü daha az gürültülü sonuçlar oluşturmak için hızlı ve kolay bir şekilde tekrar tekrar çalıştırılabilir. Bu sayede, tek bir iyileştirme alanına odaklanabilirsiniz.

Mikro karşılaştırma kitaplığı, yalnızca uygulamanızla ilgili bilgileri raporlar, sistemin tamamıyla ilgili bilgileri raporlamaz. Bu nedenle, genel sistem sorunlarıyla ilgili olabilecek durumların değil, uygulamaya özgü durumların performansını analiz etmek için en iyisidir.

Karşılaştırmalı değerlendirme kitaplığı

Makro karşılaştırma Mikro karşılaştırma
API sürümü 23 ve sonraki sürümler 14 ve sonraki sürümler
İşlev Etkinlik başlatma veya bir listede gezinme gibi üst düzey giriş noktalarını ya da etkileşimleri ölçün. Bağımsız işlevleri ölçün.
Kapsam Uygulamanın tamamı için işlem dışı test. CPU çalışmasının süreç içi testi.
Hız Orta düzeyde iterasyon hızı. Bu işlem bir dakikadan uzun sürebilir. Hızlı iterasyon hızı. Genellikle 10 saniyeden kısadır.
İzleme Sonuçlar, profil oluşturma izleriyle birlikte gelir. İsteğe bağlı yöntem örnekleme ve izleme.