Prestazioni di Jetpack Compose

Jetpack Compose offre prestazioni eccellenti fin dall'inizio. Configura la tua app utilizzando le best practice per evitare errori comuni e ottimizzare le prestazioni della tua applicazione Compose.

Benchmarking di Jetpack Compose

Per convalidare le prestazioni di Jetpack Compose rispetto alle visualizzazioni, utilizziamo benchmark principali, ovvero benchmark incentrati su percorsi dell'utente importanti e reali, come l'avvio a freddo di un'app o lo scorrimento di un elenco o di una griglia con immagini. Eseguiamo questi benchmark utilizzando l'app open source Pokedex, confrontando le sue implementazioni di Views e Compose.

Questi benchmark mostrano che Compose corrisponde alle prestazioni di Views per il jank durante lo scorrimento a partire da Compose 1.9.0 (raggiungendo lo 0% di jank su Pixel 6).

Jank in eccesso di Compose rispetto alle visualizzazioni in punti percentuali, per versione di Compose (più basso è, meglio è)
Versione di composizioneDispositivoJank in eccesso rispetto alle visualizzazioni (pp)
1.3.3Pixel 3a+0,35
1.4.3Pixel 3a+0,41
1.5.4Pixel 3a+0,42
1.6.8Pixel 3a+0,21
1.7.8Pixel 3a+0,36
1.8.0Pixel 3a+0,38
1.9.0Pixel 3a0
1.10.0Pixel 3a0
1,11Pixel 60
1,12Pixel 60
Figura 1. A partire da Compose 1.9.0, Compose corrisponde ai jank di scorrimento delle visualizzazioni.

Per ulteriori metriche e per scoprire di più sulle nostre metodologie, consulta Benchmark Hero.

Concetti fondamentali

Ecco alcuni dei concetti chiave per le prestazioni in Compose:

  • Fasi: comprendere le fasi di composizione, layout e disegno è fondamentale per ottimizzare il modo in cui Compose aggiorna la UI.
  • Profili di riferimento: questi profili precompilano il codice essenziale, consentendo lanci di app più rapidi e interazioni più fluide.
  • Stabilità: scopri in che modo Compose confronta i parametri durante la ricomposizione, in modo da poter saltare il lavoro non necessario senza introdurre costosi controlli di uguaglianza.

Configura correttamente l'app

Se le prestazioni dell'app sono scarse, potrebbe esserci un problema di configurazione. Un buon primo passo è controllare le seguenti opzioni di configurazione:

Strumenti

Acquisisci familiarità con la suite di strumenti disponibili per aiutarti a misurare e analizzare le prestazioni della tua app Compose.

Best practice

Quando sviluppi la tua app con Compose, tieni presente le seguenti best practice:

Per maggiori dettagli, consulta la guida alle best practice.

Visualizzazioni

Se utilizzi le visualizzazioni anziché Compose, consulta la guida dedicata Migliora le prestazioni del layout.

Risorse aggiuntive