Wear OS'teki performans, Wear OS cihazlarının çoğunda daha büyük mobil cihazlara kıyasla sınırlı CPU ve GPU kaynakları olduğundan uygulamalar için önemli bir değerlendirme ölçütü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 tekniklerden bazıları vurgulanmaktadır.
Ayrıca, bu belgedeki tekniklerin uygulamanızda beklendiği gibi çalıştığını doğrulamak için performans ölçümü stratejileri oluşturun ve bu stratejilere uyun.
Temel performans artırma teknikleri
En etkili performans aracı türleriyle başlayın: temel profiller (başlangıç profilleri dahil) ve R8 kod optimizasyon aracı.
Başlamadan önce Compose bağımlılığınızı en az 1.8 sürümüne güncellemenizi öneririz. Bu sürümde, çeşitli önemli yeni özellikler kullanıma sunulmuş ve kitaplığın genel kararlılığı iyileştirilmiştir. Güncellemeyle ilgili talimatları Bağımlılıkları bildirme bölümünde bulabilirsiniz. Daha fazla bilgi için 1.8 sürümüyle ilgili blog yayınımıza ve Compose'daki yenilikler başlıklı I/O konuşmasına göz atın.
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ırmasının durumunu doğrulamak için belirli ADB komutlarından yararlanın.
Bu tekniklerin her ikisiyle ilgili adımlar performans ölçümü ve doğrulama kılavuzunda açıklanmaktadır.
Başlangıç Profilleri
Temel profillerin bir alt kümesi olan Başlatma Profilleri, 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.
Temel profil kurulumunuzdan genel olarak memnun olduğunuzda, başlamak için Startup 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ı iyileştirme - Genel Bakış başlıklı kılavuzlarda, kullanılmayan kaynakları kaldırma ile ilgili temel adımlar da dahil olmak üzere R8 ile ilgili dikkat edilmesi gereken noktaları inceleyin.
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ı yer almaktadı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 oluşturur, temel profilleri kullanmaz ve performansı olumsuz 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 testleri kullanarak çıkarmalısınız.
Ancak karşılaştırma testi yaparken yayın hata ayıklamasıyla bazı temel farklılıkları olan karşılaştırma testi 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 dururken çalışan bir arka plan görevi kullanılarak uygulanır. Uygulama başlatıldıktan ve profil yükleyicinin profili arka planda başlatmasına izin verecek kadar zaman geçtikten sonra aşağıdaki komutu çalıştırarak bu işlemi manuel olarak tetikleyebilirsiniz. Bu işlem genellikle yaklaşık 40 saniye sürer.
adb shell cmd package bg-dexopt-job
Durumun artık speed-profile
olduğunu kontrol etmek için önceki komutu tekrar çalıştırabilirsiniz.
Optimizasyonun yükleme sırasında yapıldığı durumlar için Temel profili yan yükleme başlıklı makaleyi inceleyin.
UI Automator API
Olası optimizasyonlar için kullanıcı yolculuklarını incelerken ayrı kullanıcı arayüzü parçalarını karşılaştırmak üzere UI Automator API'yi kullanın.
Kullanıcı arayüzü etkileşimlerini programatik olarak otomatikleştirerek çalışır.
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 göz atın.
Temel profil 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, olası sorunlu kullanıcı yolculuklarındaki gecikmeyi incelemek ve teşhis etmek için Android Studio'daki System Trace özelliğini kullanabilirsiniz. Bu bilgiler ışığında, temel profillerinizin içeriğini doğrulayabilir ve kod mantığınızı inceleyerek potansiyel verimsizliklerin olduğu yerleri bulabilirsiniz.
Ek araçlar
Geliştiriciler, performans iyileştirme araçlarının yanı sıra üretkenliklerini ve iş akışlarını iyileştirmek için kullanabilecekleri başka araçlara da sahiptir.
Android Studio Üretkenlik Araçları
Android Studio, performansı artırmanın yollarını ararken 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ünü 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.