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 uygulamanızı en iyi uygulamaları kullanarak yapılandırın.
Jetpack Compose'u karşılaştırma
Jetpack Compose'un performansını View'lara karşı doğrulamak için, bir uygulamayı soğuk başlatma veya resim içeren bir listede ya da ızgarada kaydırma gibi önemli ve gerçek dünyadaki kullanıcı yolculuklarına odaklanan temel karşılaştırmalar kullanırız. Bu karşılaştırmaları, açık kaynaklı Pokedex uygulamasını kullanarak yapar, uygulamanın View ve Compose uygulamalarını karşılaştırırız.
Bu karşılaştırmalar, Compose 1.9 ve sonraki sürümlerin kaydırma sırasında duraklama açısından Views performansına eşit olduğunu 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: Gereksiz yeniden oluşturmaları daha verimli bir şekilde atlayarak performansı artırmak için uygulamanızın kararlılığını artırın.
Uygulamanızı doğru şekilde yapılandırın
Uygulamanızın performansı düşükse yapılandırmayla ilgili bir sorun olabilir. İlk olarak aşağıdaki yapılandırma seçeneklerini kontrol etmeniz önerilir:
- R8 ile yayınlanan derleme oluşturma: 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. Performanslı ve verimli bir yayınlanan derleme sağlamak için R8 derleyicisiyle optimizasyonu ve küçültmeyi de 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ı dokümanlarında 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 zaten okunmuş olan 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ı iyileştirme 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ı İncele: 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.