Jetpack Compose, kullanıma hazır mükemmel bir performans sunar. Sık yapılan hatalardan kaçınmak ve Compose uygulamanızın performansını optimize etmek için en iyi uygulamalardan yararlanarak uygulamanızı yapılandırın.
Android becerileri
GitHub'da gösterJetpack Compose performansı
android skills add jetpack-compose-performanceJetpack Compose'u karşılaştırma
Jetpack Compose performansını Görünümler'e göre doğrulamak için kahraman karşılaştırmaları kullanırız. Bu karşılaştırmalar, bir uygulamayı sıfırdan başlatma veya resim içeren bir listeyi ya da tabloyu kaydırma gibi önemli, gerçek dünyadaki kullanıcı yolculuklarına odaklanır. Bu karşılaştırmaları, açık kaynaklı Pokedex uygulamasını kullanarak ve uygulamanın Görünümler ile Compose uygulamalarını karşılaştırarak yapıyoruz.
Bu karşılaştırmalar, Compose'un Compose 1.9.0'dan beri kaydırma sırasında takılma açısından Views performansıyla eşleştiğini (Pixel 6'da %0 takılma elde ettiğini) gösterir.
| Compose sürümü | Cihaz | Görüntüleme sayısına göre aşırı takılma (yüzde puanı) |
|---|---|---|
| 1.3.3 | Pixel 3a | +0,35 |
| 1.4.3 | Pixel 3a | +0,41 |
| 1.5.4 | Pixel 3a | +0,42 |
| 1.6.8 | Pixel 3a | +0,21 |
| 1.7.8 | Pixel 3a | +0,36 |
| 1.8.0 | Pixel 3a | +0,38 |
| 1.9.0 | Pixel 3a | 0 |
| 1.10.0 | Pixel 3a | 0 |
| 1.11 | Pixel 6 | 0 |
| 1.12 | Pixel 6 | 0 |
Ek metrikler ve metodolojilerimiz hakkında bilgi edinmek için Hero karşılaştırmaları sayfasını inceleyin.
Temel kavramlar
Compose'da performansla ilgili temel kavramlardan bazıları şunlardır:
- Aşamalar: Oluşturma, düzen ve çizim aşamalarını anlamak, Compose'un kullanıcı arayüzünüzü güncelleme şeklini optimize etmek açısından çok önemlidir.
- Temel Profiller: Bu profiller, temel kodları önceden derleyerek uygulamaların daha hızlı başlatılmasını ve daha sorunsuz etkileşimler sunmasını sağlar.
- Kararlılık: Compose'un yeniden oluşturma sırasında parametreleri nasıl karşılaştırdığını öğrenerek maliyetli eşitlik kontrolleri yapmadan gereksiz işleri atlayabilirsiniz.
Uygulamanızı doğru şekilde yapılandırma
Uygulamanızın performansı düşükse bir yapılandırma sorunu olabilir. İlk adım olarak aşağıdaki yapılandırma seçeneklerini kontrol etmenizi öneririz:
- 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 kullanışlıdır ancak performans maliyetine neden olur ve diğer sorunların tespit edilmesini zorlaştırabilir. Ayrıca, performanslı ve verimli bir yayınlanan derleme elde etmek için R8 derleyici ile optimizasyonu ve küçültmeyi etkinleştirmeniz gerekir.
- Temel Profiller'i 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 Baseline Profilleri 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:
- Yüksek maliyetli hesaplamalardan kaçının: Yüksek maliyetli hesaplamaların sonuçlarını önbelleğe almak için
rememberkullanın. - Yavaş düzenlere yardımcı olun: Gereksiz yeniden oluşturma işlemlerini en aza indirmek ve alanların yeniden kullanılmasını sağlamak için yavaş düzenlere kararlı
keyvecontentTypeparametreleri sağlayın. - Gereksiz yeniden oluşturmaları sınırlayın: Hızla değişen durumu okurken yeniden oluşturmaları sınırlamak için
computedStateOf(Compose 1.13 ve sonraki sürümlerde) veyaderivedStateOfkullanı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ştiriciler kullanın. - Geriye doğru yazma işlemlerinden kaçının: Bir composable'da daha önce okunmuş olan duruma hiçbir zaman yazmayın.
Daha fazla bilgi için en iyi uygulamalar kılavuzuna bakın.
Görüntüleme sayısı
Oluşturma yerine görünümlerle çalışıyorsanız özel Düzen performansını iyileştirme kılavuzuna bakın.
Ek kaynaklar
- Uygulama performansı kılavuzu: Android'de performansı artırmak için 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 anlama.