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 ve son değişikliklerde gerileme olmamasına yardımcı olabilirsiniz.
Android iki karşılaştırma kitaplığı ve kullanıcı analizi ve analizi için yaklaşım sunar Macrobenchmark ve birçok farklı durumu test etmek için Mikro Karşılaştırma.
Makro karşılaştırma
Macrobenchmark kitaplığı, aşağıdakiler gibi daha büyük son kullanıcı etkileşimlerini ölçer: başlatma, kullanıcı arayüzü etkileşimi ve animasyonlar. Kitaplıkta doğrudan üzerinde tam kontrol sahibi olmanızı sağlar. Tüm boyutlarıyla uygulamanızı başlatıp durdurabilirsiniz. Böylece, doğrudan gerçek uygulamayı başlatma veya kaydırma gibi.
Macrobenchmark kitaplığı etkinlikleri yerleştirir ve sonuçları geliştirmek için kullanabileceğiniz bir test uygulamasıdır. 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. En iyi durum performansını değerlendiren CPU işlerini ölçmek için tasarlanmıştır. Örneğin: tam olarak ısındığından (JIT) ve önbelleğe alınan disk erişimlerinden. bir iç döngü veya belirli bir ısınma işlevi. Kitaplık yalnızca kodu vardır.
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ğlamasının maliyetini ölçebilirsiniz.
bir düzeni şişirmenin ne kadar sürdüğü veya düzen ve ölçümün ne kadar zorlayıcı olduğu
View
dersinizi, performans açısından değerlendirirsiniz.
Ancak, karşılaştırılan örneklerin performansınıza nasıl katkıda bulunduğunu ne kadar iyi karşıladığını görebileceksiniz. 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. İşte bu nedenle öncelikle Android Profiler ile bu performans sorunlarını belirlemeniz çok önemlidir. İncelemek ve optimize etmek istediğiniz kodu bulduktan sonra, karşılaştırmalı daha az parazit oluşturmak için döngü hızlı ve kolay bir şekilde tekrar tekrar çalıştırılabilir. tek bir iyileştirme alanına odaklanmanızı sağlar.
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 | Tam kapasitenin süreç dışı testi uygulamasını indirin. | CPU çalışmasının işlem içi testi. |
Hız | Orta düzeyde iterasyon hızı. Google bir dakikayı aşabilir. | Hızlı iterasyon hızı. Sık sık 10 saniyeden az olmalıdır. |
İzleme | Sonuçlar profil çıkarma ile gelir izler. | İsteğe bağlı yöntem örnekleme temel bir metriktir. |
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Temel profiller oluşturma {:#creating-profile-rules}
- JankStats Kitaplığı
- Uygulama performansını ölçmeye genel bakış