Başlatma gecikmesini iyileştirme

Başlatma gecikmesi, günlük etkin kullanıcı sayısını korumak ve ilk etkileşimden itibaren sorunsuz bir kullanıcı deneyimi sağlamak için önemli bir metriktir. Bu durum, özellikle performanstan ödün verilebilen düşük RAM'li ortamlarda geçerlidir. Ancak uygulama başlatma sürecini iyileştirmeye başlamadan önce, başlangıçtan sorumlu olan temel unsurları anlamak önemlidir.

En iyi uygulamalar

Temel Profil ile Gönderme

Temel Profiller, dahil edilen kod yolları için yorumlamadan ve sadece zamanında (JIT) derleme adımlarını atlayarak kod yürütme hızını ilk lansmandan itibaren yaklaşık% 30 artırır. Android Çalışma Zamanı (ART), uygulamada bir Referans Profil sunarak, dahil edilen kod yollarını Zamana Önde (AOT) derlemesi aracılığıyla optimize edebilir. Böylece, her yeni kullanıcı ve her uygulama güncellemesinde performans iyileştirmeleri sağlar.

Hızlıca başlatmaktan kaçının

Uygulamanızın başlangıç sırasında gerekli olmayabilecek yoğun işleri yapmaktan kaçının. Uygulamanızın işlem başlatması ile ilgili en olası senaryo, uygulamanın başlatılmasıdır. Ancak WorkManager, JobScheduler, BroadcastReceiver, bağlı hizmetler ve AndroidX başlangıç kitaplığı da arka planda uygulama işlemleri başlatabilir. Mümkünse Application sınıfınızda gereksiz işleri başlatmaktan kaçının. Pek çok kitaplıkta isteğe bağlı başlatma özelliği sunulur. Böylece sadece gerektiğinde çağırabilirsiniz.

Görevleri kullanıcı arayüzü ileti dizisinden arka plan ileti dizisine taşıyın

Daha uzun süren ve ana iş parçacığını engelleyen görevler varsa bunları bir arka plan iş parçacığına taşıyın veya verimliliği sağlamak için WorkManager'ı kullanın. Uzun zaman dilimlerini kaplayan veya beklenenden daha fazla zaman alan işlemleri belirleyin. Bu görevleri optimize etmek, başlatma gecikmesini önemli ölçüde iyileştirmeye yardımcı olabilir.

Ciddi disk okuma anlaşmazlığını analiz etme ve düzeltme

StrictMode, kullanıcı arayüzü işlemlerinin alındığı ve animasyonların gerçekleştiği, uygulamanın ana iş parçacığında yanlışlıkla disk veya ağ erişimi kullanılmasını algılamaya yardımcı olabilen bir geliştirici aracıdır. Araç, iyileştirme yapılabilecek bir alan tespit ettiğinde uygulamayı otomatik olarak sonlandırabilir veya daha sonra, daha ayrıntılı inceleme için ihlali günlüğe kaydedebilirsiniz.

Eşzamanlı IPC'lerden kaçının

Uygulamanızın çalışmasındaki uzun duraklamalar genellikle Android'deki işlemler arası iletişim (IPC) mekanizması olan bağlayıcı çağrılarından kaynaklanır. Android'in son sürümlerinde, UI Thread'in çalışmayı durdurmasının en yaygın nedenlerinden biridir. Genellikle çözüm, bağlayıcı çağrıları yapan işlevleri çağırmaktan kaçınmaktır. Kaçınılmazsa değeri önbelleğe almanız veya çalışmayı arka plan iş parçacıklarına taşımanız gerekir. Daha fazla bilgi için İleti dizisi planlama gecikmeleri bölümünü inceleyin.