Jetpack Compose, kutudan çıktığı haliyle mükemmel performans sunar. Yaygın hatalardan kaçınmak ve Compose uygulamanızın performansını optimize etmek için en iyi uygulamaları kullanarak uygulamanızı yapılandırın.
Jetpack Compose'u karşılaştırma
Jetpack Compose'un performansını Views'a karşı doğrulamak için önemli, gerçek dünyadaki kullanıcı yolculuklarına (ör. bir uygulamayı soğuk başlatma veya resim içeren bir listede ya da ızgarada kaydırma) odaklanan karşılaştırma testleri olan hero benchmark'ları kullanırız. Bu karşılaştırmaları, açık kaynaklı Pokedex uygulamasını kullanarak Görünümler ve Compose uygulamalarını karşılaştırarak yaparız.
Bu karşılaştırmalar, Compose 1.9 ve sonraki sürümlerin kaydırma sırasında duraklama ile ilgili Görünümler performansıyla eşleştiğini gösteriyor.
Ek metrikler ve metodolojilerimiz hakkında bilgi edinmek için Önemli performans göstergesi karşılaştırmaları başlıklı makaleyi inceleyin.
Temel kavramlar
Compose'da performansla ilgili temel kavramlardan bazıları şunlardır:
- Aşamalar: Compose'un kullanıcı arayüzünüzü nasıl güncellediğini optimize etmek için kompozisyon, düzen ve çizim aşamalarını anlamak çok önemlidir.
- Temel profiller: Bu profiller, temel kodu önceden derleyerek uygulamaların daha hızlı başlatılmasını ve daha sorunsuz etkileşimler kurulmasını sağlar.
- Kararlılık: Uygulamanızın kararlılığını artırarak gereksiz yeniden oluşturma işlemlerini daha verimli bir şekilde atlayın ve performansı iyileştirin.
Uygulamanızı doğru şekilde yapılandırın
Uygulamanızın performansı düşükse yapılandırmayla ilgili bir sorun olabilir. İlk adım olarak aşağıdaki yapılandırma seçeneklerini kontrol edebilirsiniz:
- R8 ile Yayın Modunda Derleme: Uygulamanızı yayın modunda çalıştırmayı deneyin. Hata ayıklama modu birçok sorunu tespit etmek için yararlı olsa da performans maliyetine neden olur ve diğer sorunların tespit edilmesini zorlaştırabilir. Ayrıca, performanslı ve verimli bir yayınlanan derleme sağlamak için R8 derleyicisiyle optimizasyonu ve küçültmeyi etkinleştirmeniz gerekir.
- Temel Profilleri kullanın: Temel Profiller, kritik kullanıcı yolculukları için kodu önceden derleyerek performansı artırır. Compose'da varsayılan bir profil bulunur ancak ideal olarak uygulamaya özel bir profil de oluşturmanız gerekir. Genel Android performans belgelerinde Temel Profiller hakkında daha fazla bilgi edinin.
Araçlar
Compose uygulamanızın performansını ölçmenize ve analiz etmenize yardımcı olacak araçlar hakkında bilgi edinin.
En İyi Uygulamalar
Uygulamanızı Compose ile geliştirirken aşağıdaki en iyi uygulamaları göz önünde bulundurun:
- Maliyetli hesaplamalardan kaçının: Maliyetli hesaplamaların sonuçlarını önbelleğe almak için
rememberişlevini kullanın. - Tembel düzenlere yardımcı olma: Gereksiz yeniden oluşturmaları en aza indirmek için
keyparametresini kullanarak tembel düzenlere sabit anahtarlar sağlayın. - Gereksiz yeniden oluşturmaları sınırlama: Durum hızla değiştiğinde yeniden oluşturmaları sınırlamak için
derivedStateOfkullanın. - Durum okumalarını erteleme: Durum okumalarını lambda işlevlerine sarmalayarak mümkün olduğunca erteleyin.
- Durumu değiştirmek için lambda değiştiricileri kullanın: Sık değişen durum değişkenleri için
Modifier.offset { ... }gibi lambda tabanlı değiştiricileri kullanın. - Geriye doğru yazmaktan kaçının: Bir composable'da daha önce okunmuş bir duruma asla yazmayın.
Daha fazla bilgi için en iyi uygulamalar kılavuzuna bakın.
Görüntüleme sayısı
Compose yerine görünümlerle çalışıyorsanız Düzen performansını artırma başlıklı kılavuza göz atın.
Ek Kaynaklar
- Uygulama performansı kılavuzu: Android'de performansı artırmaya yönelik en iyi uygulamaları, kitaplıkları ve araçları keşfedin.
- Performansı İnceleme: Uygulama performansını inceleyin.
- Karşılaştırma: Uygulama performansını karşılaştırın.
- Uygulama başlatma: Uygulama başlatmayı optimize edin.
- Temel profiller: Temel profilleri anlayın.