Oluşturma, bir kareyi güncellerken üç aşamadan geçer:
- Kompozisyon: Kompozisyon, nelerin gösterileceğini belirler. Birleştirilebilir işlevleri çalıştırır ve kullanıcı arayüzü ağacını oluşturur.
- Düzen: Compose, kullanıcı arayüzü ağacındaki her bir öğenin boyutunu ve yerleşimini belirler.
- Çizim: Oluşturma, kullanıcı arayüzü öğelerini işler.
Oluşturma özelliği, gerekmediği takdirde bu aşamaları akıllıca atlayabilir. Örneğin, tek bir grafik öğesinin aynı boyuttaki iki simge arasında değiştiğini varsayalım. Bu öğenin boyutu değişmediği ve kullanıcı arayüzü ağacına öğe eklenip kaldırılmadığı için Compose, kompozisyon ve düzen aşamalarını atlayıp bu tek öğeyi yeniden çizebilir.
Ancak kodlama hataları, Compose'un hangi aşamaları güvenli bir şekilde atlayabileceğini bilmesini zorlaştırabilir. Bu durumda Compose, üç aşamanın tamamını çalıştırır ve bu da kullanıcı arayüzünüzü yavaşlatabilir. Bu nedenle, performansla ilgili en iyi uygulamaların çoğu, Compose'un yapması gerekmeyen aşamaları atlamasına yardımcı olmayı amaçlar.
Daha fazla bilgi için Jetpack Compose Aşamaları kılavuzuna bakın.
Genel ilkeler
Genel olarak performansı artırmak için izleyebileceğiniz birkaç temel ilke vardır:
- Mümkün olduğunda hesaplamaları composable işlevlerinizin dışına taşıyın. Kullanıma hazır işlevlerin, kullanıcı arayüzü her değiştiğinde yeniden çalıştırılması gerekebilir. Composable'a yerleştirdiğiniz tüm kodlar, animasyonun her karesi için yeniden yürütülür. Composable'ın kodunu yalnızca kullanıcı arayüzünü oluşturmak için gerekenlerle sınırlayın.
- Durum okumalarını mümkün olduğunca uzun süre erteleyin. Durum okumayı bir alt composable'a veya sonraki bir aşamaya taşıyarak yeniden oluşturmayı en aza indirebilir ya da composable aşamasını tamamen atlayabilirsiniz. Bunu, sık değişen durum için durum değeri yerine lambda işlevleri ileterek ve sık değişen durumu iletirken lambda tabanlı değiştiricileri tercih ederek yapabilirsiniz. Bu tekniğin bir örneğini En iyi uygulamaları takip edin başlıklı makalenin Okuma işlemlerini mümkün olduğunca erteleyin bölümünde görebilirsiniz.
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.