Android Takvim ekibi, Temel Profiller sayesinde uygulama başlatma ve olumsuzlukları nasıl iyileştirdi?

Referans Profilleri, çevirmen ve tam zamanında (JIT) derlemesi adımlar bir çözüm bulmanız gerekir. Temel Profiller, ilgilendiğiniz kullanıcı yolculuklarını uygulama başlatma sürecini iyileştirmek, olumsuzlukları azaltmak ve daha birçok konuda yardımcı olmak için sonuçta kullanıcıları elde tutma oranı ve puanlar gibi daha iyi iş metrikleri de elde edebilirsiniz. Referans değer hakkında daha fazla bilgi Profiller'e gidin.

Android Takvim ekibi, Temel Profilleri uyguladı ve uygulamanın yaklaşık% 20'sini gözlemledi. başlatma süresinde iyileşme ve yavaş ya da donmuş karelerde yaklaşık% 50 azalma sağladı. İşte bu performans kazançlarını elde etmek için baştan sona neler yaptığını, Etkiyi ölçmek için Temel Profilleri kullanmaya karar verdi.

Cloud Profilleri - Temel Profiller

Android Takvim ekibi Cloud'u zaten kullanıyordu. Profiller, profil rehberliğinde optimizasyon (PGO) yöntemlerinden biridir. Bu, gerçek dünyadaki kullanıcılara ve uygulamadaki etkileşimler. Cloud Profilleri ve Temel Profiller aşağıdaki gibidir: karşılaştır:

Profil türü Ayarla Dahil edilen kullanıcı yolculukları Kullanıcı tabanı şu olduğunda en iyi sonucu verir: Gerçekleşen etki Desteklenen Android sürümleri

Bulut Profilleri

Varsayılan olarak etkindir

Gerçek kullanıcı verilerine göre otomatik olarak seçilir

Büyük

Birkaç gün içinde

Android 9 (API düzeyi 28) ve sonraki sürümler

Temel Profiller

Yapılandırdığınız

Sizin seçtikleriniz

Tüm boyutlar

Derhal

Android 7 (API düzeyi 24) ve sonraki sürümler

Android Takvim ekibinin Bunun nedeni, kod tabanlarının daha hızlı ve haftalık bir sürüm döngüsüne geçmeleriydi. Cloud Profilleri önemli ölçüde performans artışı sağlasa da bu işlem 1-2 gün sürer ve mümkün olan en yüksek etkiye ulaşmak için kullanıcı verilerinin toplanmasıyla ilgilidir. Cloud Profillerini Baseline ile Destekleme Profiller, kullanıcılara en yüksek performans iyileştirmelerini deneyimlemeleri için daha fazla zaman tanır kullanıma sunulmasından emin olabilirsiniz.

Ayrıca Android Takvim ekibinin şu an için önemli olan: hangi kritik kullanıcı yolculuklarının (CUJ) özellikle dahil edileceğini Temel Profilleri kullanarak yapabilirsiniz.

Genellikle Cloud Profillerine ek olarak Temel Profilleri de kullanmanızı öneririz. varsayılan olarak etkinleştirildiğinden emin olun.

Dahil edilen kullanıcı yolculukları

Android Takvim ekibi, Temel Profillerine iki CUJ eklemeyi seçmiştir:

  • Uygulamayı zamanlama görünümünde açma: Başlangıçta varsayılan görünümdür. Bu nedenle uygulamayı ilk kez kullanan veya varsayılan ayarlara gidin.
  • Uygulamayı ay görünümünde açma: Kullanıcıya bağlı olarak, birçok kullanıcı için seçilen görünüm verileri. Kullanıcıların uygulamanızı nasıl kullandıklarını izlemek için Firebase.

Genel olarak, işletme için kârlı olan CUJ'leri eklemeniz gerekir ( ve CUJ'ler kullanılabilir. Seçim yapma hakkında daha fazla bilgi CUJ'ler hakkında daha fazla bilgi için Ne yapılmalı? içerir.

Uygulama

Android Takvim ekibi, Jetpack Macrobenchmark kitaplığı dahili araçlarla entegrasyonu kolaylaştırmak için Temel Profilleri oluşturmak yardımcı olur.

Uygulamayı zamanında açmak için Macrobenchmark test yapılandırmasını burada bulabilirsiniz görünüm:

@Test
fun generateProfile() =
    baselineProfileRule.collect(PACKAGE_NAME, includeInStartupProfile = true) {
        startActivityAndWait()
        // Verify pre-existing recurring events and tasks are shown.
        device.waitAndFindObject(By.text("Recurring event"), 20_000)
        device.waitAndFindObject(By.text("Recurring task"), 20_000)

        // Open drawer and verify selected view.
        device.findObject(By.desc("Show Calendar List and Settings drawer")).click()
        device.waitAndFindObject(By.desc("Schedule view, Selected"), 1_000)
    }

Kontrollü sürümleri kullanarak etkiyi ölçme

Temel Profiller, birlikte gönderildikleri APK ile sıkı bir şekilde ilişkili olduğundan ve uygulamanız çalıştırılmadan önce dahil edilirse standart bir A/B testi yapmak mümkün değildir. etkisini anlamak için denemeler yapın. Ancak Android Takvim ekibi kontrollü sürümleri kullanarak etkiye dair doğru bir ölçüm yapabilirsiniz. yalnızca belirli bir kullanıcı alt kümesine yayınlayıp kullanıcıların bu uygulamadaki bunları, önceki sürüme benzer bir sürüm kullanan kullanıcılara tanıtır.

Temel Profiller sayesinde, aşağıdaki önemli farkları hemen fark ettiler: geliştirmeyi öğreneceksiniz. Bu istatistikler geniş bir aralıkta toplanır cihazlar ve tüm kullanıcılar (program ve ay görünümünde başlayanlar) en büyük faydaları sağlayabilir ancak takvim verilerinin yüklenmesi gibi paylaşılan işlemlerin optimizasyonu

  • Etkileşimli uygulama başlatma (en yaygın senaryo) için ortanca değer 775 ms - 644 ms (%17)
  • Ortanca baştan başlatma gecikmesi 1.058 ms'den 901 ms'ye (%15) düşürüldü
  • Ortanca hazır durumda başlatma gecikmesi 453 ms'den 378 ms'ye (%17) düşürüldü
  • Ortalama yavaş kare hızı, program ve aylık görüntülemelerde% 42-60 oranında azaldı

Temel Düzey ile birlikte Cloud Profillerini kullanıyorsanız Zaman içinde iyileşmelerin azalacağını göreceğiniz profiller ilk haftada tamamlanır. Ancak yine de Temel Profiller sayesinde, diğer profillerle karşılaştırıldığında önemli düzeyde performans artışı elde edebilir optimizasyon yapabilirsiniz.

Araçlar ve özellikler hakkında daha fazla bilgi edinmek için aşağıdaki kaynakları inceleyin: