Wear OS'teki performans, uygulamalar için önemli bir husustur. Bunun nedeni, birçok Wear OS cihazın daha büyük mobil cihazlara kıyasla sınırlı CPU ve GPU kaynaklarına sahip olmasıdır. Material 3 Expressive'de daha zengin animasyonların ve dinamik efektlerin kullanıma sunulmasıyla birlikte, uygulamanızın temel iş akışlarının performansını doğrulamanız ve iyileştirmeniz gerekir.
Uygulamanızı Jetpack Compose'u kullanarak optimum performans için yapılandırmak ve geliştirmek üzere Jetpack Compose Performansı kılavuzunu kullanın. Bu belgede, söz konusu rehberde açıklanan tekniklerden bazıları öne çıkarılmıştır.
Bu tekniklerin uygulamanızda beklendiği gibi çalıştığını doğrulamak için performans ölçümü stratejileri oluşturun ve uygulayın.
Temel performans artırma teknikleri
En etkili performans aracı türleriyle başlayın: temel profiller (başlangıç profilleri dahil) ve R8 kodu optimize edici.
Compose bağımlılığınızı, çeşitli önemli yeni özellikler sunan ve kitaplığın genel kararlılığını artıran 1.8 veya sonraki bir sürüme güncelleyin. Güncellemeyi nasıl yapacağınızı öğrenmek için Bağımlıları tanımlama bölümündeki talimatlara bakın. Daha fazla bilgi edinmek için 1.8 sürümüyle ilgili blog yayınımızı ve Compose'daki yenilikler başlıklı I/O konuşmasını okuyun.
Temel profiller
Uygulamanızın performansını artırmak için temel profilleri kullanın. Sistemin temel profil kullanarak önceden derleyebileceği, uygulamanızın temel iş akışlarını temsil eden sınıfları ve yöntemleri gruplandırın. Bu sayede başlatma süreleri kısalabilir, titrek kareler azaltılabilir ve ek performans iyileştirmeleri sunulabilir.
Her Jetpack Compose kitaplığı kendi profil kurallarıyla birlikte gelir. Uygulamanız bir kitaplığa bağlı olduğunda kitaplık profil kuralları otomatik olarak birleştirilir ve ön derleme için uygulamanızın APK'sı ile birlikte dağıtılır.
Aşağıdaki teknikleri kullanarak temel 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çıklanmaktadır.
Başlangıç Profilleri
Başlangıç profilleri, temel profillerin bir alt kümesi olarak uygulama başlatma gecikmesini azaltmak için içerdiği sınıfları ve yöntemleri daha da optimize eder.
Başlangıç profili eklemek uygulamanızın APK boyutunu artırır. Bu nedenle, üretim sürümünüze eklemeden önce APK boyutu ile başlangıç gecikmesi arasındaki dengeyi değerlendirdiğinizden emin olun.
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, çalışma zamanı performansını optimize etmek için kodu yeniden yazar ve daha fazlasını yapar.
Performansı artırma Genel Bakış kılavuzlarında, kullanılmayan kaynakları kaldırma ile ilgili temel 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 varyantı seçin
Hata ayıklama modu birçok sorunu tespit etmek için yararlı olsa da önemli bir performans maliyeti getirir, temel 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ı yayın modunda çalıştırın.
Performansla ilgili nihai sonuçları yalnızca yayın derleme seçenekleriyle çalışan uygulamalarla ve gerçek cihazlarda gerçekleştirilen testlerden çıkarın.
Ancak karşılaştırma testi yaparken yayın hata ayıklamadan bazı önemli farklılıkları olan karşılaştırma derleme varyantını kullanın. Ayrıntılar için Macrobenchmark kurulum kılavuzuna bakın.
Uygulamanızın temel profillerini doğrulama
Öncelikle profilinizin durumunu inceleyin:
adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME
Durum status=speed-profile
değilse profil kuralları henüz uygulanmamıştır.
Kurallar, cihaz şarj edilirken ve boşta kalırken ç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 yan yükleme başlıklı makaleyi inceleyin.
UI Automator API
UI Automator API, etkileşimleri programatik olarak otomatikleştirir. Kullanıcı yolculuklarını olası optimizasyonlar için incelerken ayrı kullanıcı arayüzü parçalarını karşılaştırmak için bu API'yi kullanın.
Makro karşılaştırma testi
Macrobenchmark'lar, uygulamanızın daha büyük kullanım alanlarını (özellikle uygulama başlatma ve karmaşık kullanıcı arayüzü manipülasyonları) test eder. Başlamak için uygulama kılavuzuna bakın.
Temel profillerin performansını doğrulamak için makro karşılaştırmaları kullanma örneği 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 kullanıma sunulan yeni animasyon türleriyle birlikte, Android Studio'daki System Trace özelliğini kullanarak olası sorunlu kullanıcı yolculuklarındaki gecikmeyi inceleyip teşhis edin. Bu bilgilerle, temel profillerinizin içeriğini doğrulayın ve kod mantığınızdaki olası verimsizlikleri belirleyin.
Ek araçlar
Performansı artırmaya yönelik araçları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 süreyi azaltabilecek çeşitli araçlar sunar.
Örneğin, Canlı Düzenleme ve Birleştirilebilir Önizlemeler gibi araçları kullanarak performans iyileştirmeleri için uygulamanızın kodundaki ilgili alanlarla birlikte takılan kullanıcı arayüzü öğelerini belirleyebilirsiniz.
Hedef kullanıcı tabanınızı doğru şekilde temsil eden bir grup fiziksel Wear OS cihazda tüm son performans testlerini çalıştırın.
Bu durum, özellikle Material 3 Expressive'e geçiş yaparken önemlidir. Material 3 Expressive, uygulamanıza esnek yazı tipleri ve şekil dönüştürme gibi özellikler sunar.
Görünümlerden taşıyorsanız uygulamanızın kullanıcı arayüzlerinin Jetpack Compose kullanırken performanslı olduğundan emin olmak için taşıma kılavuzumuza 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şmelerden haberdar olmak için uygulama performansıyla ilgili kılavuzdaki En son haberler ve videolar bölümüne göz atın.