Birçok Wear OS cihazı, daha büyük mobil cihazlara kıyasla sınırlı CPU ve GPU kaynaklarına sahip olduğundan Wear OS'teki performans, uygulamalar için önemli bir husustur. Material 3 Expressive'de daha zengin animasyonlar ve dinamik efektler sunulduğundan uygulamanızın önemli iş akışlarının performansını doğrulamanız ve iyileştirmeniz gerekir.
Jetpack Compose'u kullanarak uygulamanızı optimum performans için yapılandırmak ve geliştirmek üzere Jetpack Compose Performansı kılavuzunu kullanın. Bu belgede, söz konusu kılavuzda açıklanan tekniklerden bazıları vurgulanmaktadır.
Bu tekniklerin uygulamanızda beklendiği gibi çalıştığını doğrulamak için performans ölçüm stratejileri oluşturun ve uygulayın.
Performans iyileştirmeyle ilgili temel teknikler
En etkili performans aracı türleriyle başlayın: temel profiller (başlangıç profilleri dahil) ve R8 kod optimize edici.
Compose bağımlılığınızı 1.8 veya sonraki bir sürüme güncelleyin. Bu sürümde, kitaplığın genel kararlılığını artıran birkaç önemli yeni özellik sunulmuştur. Nasıl güncelleyeceğinizi öğrenmek için Bağımlılıkları bildirme bölümündeki talimatları inceleyin. Daha fazla bilgi edinmek için 1.8 sürümüyle ilgili blogumuzu okuyun ve Compose'daki yenilikler başlıklı I/O konuşmasını inceleyin.
Temel profiller
Uygulamanızın performansını artırmak için temel profilleri kullanın. Uygulamanızın temel iş akışlarını temsil eden sınıfları ve yöntemleri gruplandırın. Sistem, bunları temel profil kullanarak önceden derleyebilir. Bu sayede başlatma süreleri kısalabilir, takılan kareler azalabilir ve ek performans iyileştirmeleri sağlanabilir.
Her Jetpack Compose kitaplığı kendi profil kurallarıyla birlikte gelir. Uygulamanız bir kitaplığa bağlıysa kitaplık profili kuralları otomatik olarak birleştirilir ve ön derleme için uygulamanızın APK'sı ile dağıtılır.
Aşağıdaki teknikleri kullanarak referans profillerinizi doğrulayın:
- Macrobenchmark testlerini kullanın.
- Uygulamanızın profil yapılandırma durumunu doğrulamak için belirli ADB komutlarını kullanın. Bu tekniklerin her ikisiyle ilgili adımlar, performans ölçümü ve doğrulama kılavuzunda açıklanmıştır.
Startup Profilleri
Temel profillerin bir alt kümesi olan başlangıç profilleri, içerdikleri sınıfları ve yöntemleri daha da optimize ederek uygulama başlatma gecikmesini azaltır.
Başlangıç profili eklemek uygulamanızın APK boyutunu artırır. Bu nedenle, üretim sürümünüze başlangıç profili eklemeden önce APK boyutu ile başlangıç gecikmesi arasındaki dengeyi değerlendirin.
Başlamak için Girişim profili oluşturma başlıklı makaleyi okuyun.
R8
Uygulamaları küçültmek ve optimize etmek için R8 derleyicisini kullanın. R8, kullanılmayan kodları ve kaynakları kaldırır, kodu yeniden yazarak çalışma zamanı performansını optimize eder ve daha birçok işlem yapar.
Performansı artırmaya genel bakış kılavuzlarında, kullanılmayan kaynakları kaldırma ile ilgili önemli adımlar da dahil olmak üzere R8 ile ilgili dikkat edilmesi gereken noktaları okuyun.
Performans Ölçümü ve Doğrulama
Android'deki genel performans ölçümü stratejileri hakkında bilgi edinmek için Uygulama performansını ölçmeye genel bakış başlıklı makaleyi inceleyin. Bu bölümde, söz konusu dokümanda ele alınan tekniklerden bazıları açıklanmaktadır.
Ölçümler için bir derleme değişkeni seçme
Hata ayıklama modu birçok sorunu tespit etmek için kullanışlı olsa da önemli bir performans maliyeti getirir, referans profilleri kullanmaz ve performansı etkileyebilecek kod sorunlarını tespit etmeyi zorlaştırabilir.
Uygulamanızın performansını doğru bir şekilde anlamak için uygulamanızı sürüm modunda çalıştırın.
Performansla ilgili nihai sonuçları yalnızca yayınlanan derleme seçenekleriyle ve gerçek cihazlarda çalışan uygulamalarla yapılan testlerden çıkarın.
Ancak karşılaştırma testi yaparken, sürüm hata ayıklamasından bazı önemli farklılıkları olan karşılaştırma derleme değişkenini kullanın. Ayrıntılar için Macrobenchmark kurulum kılavuzuna bakın.
Uygulamanızın temel profillerini doğrulama
Profilinizin durumunu inceleyerek başlayın:
adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME
Durum status=speed-profile değilse uygulamayı optimize etmek için profil kuralları henüz uygulanmamıştır.
Kurallar, cihaz şarj olurken ve boştayken çalışan bir arka plan görevi kullanılarak uygulanır. Bunu manuel olarak tetiklemek için uygulama başlatıldıktan ve profil yükleyicinin profili arka planda başlatması için yeterli süre geçtikten sonra aşağıdaki komutu çalıştırın. Bu işlem genellikle yaklaşık 40 saniye sürer.
adb shell cmd package bg-dexopt-job
Ardından, durumun speed-profile olduğunu doğrulamak için önceki komutu tekrar çalıştırın.
Optimizasyonun yükleme sırasında gerçekleştiği durumlar için Temel profili dışarıdan yükleme bölümüne bakın.
UI Automator API
UI Automator API, etkileşimleri programatik olarak otomatikleştirir. Kullanıcı yolculuklarını olası optimizasyonlar açısından incelerken kullanıcı arayüzünün ayrı parçalarını karşılaştırmak için bu API'yi kullanın.
Macrobenchmark testleri
Makro karşılaştırmalar, uygulamanızın daha büyük kullanım alanlarını, özellikle de uygulama başlatma ve karmaşık kullanıcı arayüzü işlemlerini test eder. Başlamak için uygulama kılavuzuna bakın.
Temel profillerin performansını doğrulamak için makro karşılaştırmaların kullanımına dair bir örnek için GitHub'daki performans örneklerine bakın.
JankStats Kitaplığı
Uygulamalardaki performans sorunlarını izlemek ve analiz etmek için JankStats kitaplığını kullanın.
Örnek için GitHub'daki JankStats örneğine bakın.
Sistem İzleme
Material 3 Expressive ile sunulan yeni animasyon türleriyle, sorunlu olabilecek kullanıcı yolculuklarındaki gecikmeyi incelemek ve teşhis etmek için Android Studio'daki System Trace özelliğini kullanın. Bu bilgilerle, temel profillerinizin içeriğini doğrulayın ve kod mantığınızdaki olası verimsizlikleri belirleyin.
Ek araçlar
Performans iyileştirme araçlarının yanı sıra üretkenliğinizi ve iş akışınızı iyileştirmek için başka araçlar da kullanabilirsiniz.
Android Studio Üretkenlik Araçları
Android Studio, performans iyileştirmelerini belirlemek için harcadığınız zamanı azaltabilecek çeşitli araçlar sunar.
Örneğin, Live Edit ve Composable Previews gibi araçları kullanarak performans iyileştirmeleri için uygulamanızın kodundaki ilgili alanlarla birlikte takılan kullanıcı arayüzü öğelerini belirleyebilirsiniz.
Tüm nihai performans testlerini, hedef kullanıcı tabanınızı doğru şekilde temsil eden bir fiziksel Wear OS cihaz grubunda çalıştırın.
Bu, uygulamanıza esnek yazı tipleri ve şekil dönüştürme gibi özellikler ekleyen Material 3 Expressive'e geçiş yaparken özellikle önemlidir.
Görünümlerden geçiş yapıyorsanız uygulamanızın kullanıcı arayüzlerinin Jetpack Compose kullanırken yüksek performanslı olduğunu doğrulamak için geçiş rehberimize ve Jetpack Compose performansıyla ilgili en iyi uygulamalarımıza göz atın.
Diğer kaynaklar
Android performansıyla ilgili en son gelişmeleri takip etmek için Uygulama performansı kılavuzundaki En son haberler ve videolar bölümüne göz atın.