Eventi e programmi

Ottimizzazione completa: riepilogo della settimana di Performance Spotlight

Lettura di 3 minuti

Abbiamo trascorso l'ultima settimana approfondendo la condivisione di best practice e indicazioni che contribuiscono a rendere le app per Android più veloci, più piccole e più stabili. Dalle funzionalità di base dell'ottimizzatore R8 e delle ottimizzazioni guidate dal profilo, ai miglioramenti delle prestazioni con Jetpack Compose, a una nuova guida su come migliorare le prestazioni della tua app, abbiamo trattato gli strumenti a basso sforzo e ad alto impatto di cui hai bisogno per creare un'app performante.

Questo post funge da indice e roadmap per rivedere queste risorse ogni volta che devi ottimizzare. Ecco i cinque concetti chiave del nostro percorso insieme.

Utilizzare lo strumento di ottimizzazione R8 per velocizzare l'app

La modifica più efficace e semplice che puoi apportare è l'attivazione completa dell'ottimizzatore R8. Non si limita a ridurre le dimensioni dell'app, ma esegue ottimizzazioni profonde dell'intero programma per riscrivere il codice in modo efficiente. Rivedi le regole di Keep e riprendi a utilizzare R8 nelle tue attività di ingegneria.

La nostra documentazione aggiornata e ampliata sull'ottimizzatore R8 è a tua disposizione.

Reddit ha osservato un avvio a freddo più rapido del 40% e il 30% in meno di errori ANR dopo aver attivato la modalità completa R8.

Puoi leggere il case study completo sul nostro blog.

image.png

Gli ingegneri di Disney+ investono nelle prestazioni dell'app e ne ottimizzano l'esperienza utente. A volte anche modifiche apparentemente piccole possono avere un impatto enorme. Durante l'ispezione della configurazione R8, il team ha scoperto che veniva utilizzato il flag -dontoptimize. Dopo aver attivato le ottimizzazioni rimuovendo questo flag, il team di Disney+ ha riscontrato miglioramenti significativi nel rendimento della propria app.

image.png

La prossima volta che qualcuno ti chiede cosa potresti fare per migliorare le prestazioni dell'app, inviagli il link a questo post.

Scopri di più nel nostro blog del primo giorno: Utilizza R8 per ridurre, ottimizzare e accelerare la tua app

Aiutarti a migliorare il rendimento

I profili di base eliminano efficacemente la necessità di compilazione Just in Time, migliorando la velocità di avvio, lo scorrimento, l'animazione e le prestazioni di rendering complessive. I profili di avvio rendono l'avvio dell'app ancora più leggero, ordinando in modo intelligente i file classes.dex dell'app.

Per scoprire di più sull'importanza dei profili di baseline per le prestazioni dell'app, leggi il blog di ingegneria di Meta, in cui viene spiegato come i profili di baseline hanno migliorato varie metriche sul rendimento critiche fino al 40% nelle loro app.

Continuiamo a migliorare le prestazioni di Jetpack Compose in Jetpack Compose 1.10. Funzionalità come la composizione in pausa e la finestra della cache personalizzabile sono fondamentali per mantenere lo scorrimento fluido quando si ha a che fare con elementi di elenco complessi.Dai un'occhiata all'ultimo episodio di #TheAndroidShow, in cui spieghiamo questo aspetto in modo più dettagliato.

Scopri di più nel nostro blog di mercoledì: Considerazioni più approfondite sul rendimento

Misurare il rendimento può essere facile come contare fino a 3

Non puoi gestire ciò che non misuri. La nostra guida al livellamento delle prestazioni suddivide il percorso di misurazione in cinque passaggi, a partire dai dati facilmente disponibili fino agli strumenti locali avanzati.

A partire dal livello 1, ti mostreremo come utilizzare i dati facilmente disponibili di Android vitals, che fornisce dati sul campo relativi a ANR, arresti anomali e utilizzo eccessivo della batteria.

Ti insegneremo anche come salire di livello. Ad esempio, mostreremo come raggiungere il livello 3 con i test delle prestazioni locali utilizzando Jetpack Macrobenchmark e la nuova API UiAutomator 2.4 per misurare e verificare con precisione qualsiasi modifica delle prestazioni dell'app.

Scopri di più nel nostro blog di giovedì: [Link al blog di giovedì: Guida al livellamento per il tuo percorso di rendimento]

Il debug delle prestazioni è stato migliorato

L'ottimizzazione avanzata non deve significare report sugli arresti anomali illeggibili. Le nuove funzionalità sono progettate per aiutarti a eseguire il debug di R8 e del lavoro in background in tutta sicurezza:

Automatic Logcat Retrace

A partire da Android Studio Narwhal, le analisi dello stack possono essere deoffuscate automaticamente nella finestra Logcat. In questo modo, puoi visualizzare ed eseguire il debug immediatamente di eventuali arresti anomali in una build pronta per la produzione.

Restringere le regole di conservazione

Martedì abbiamo demistificato le regole di Keep necessarie per correggere gli arresti anomali di runtime, sottolineando l'importanza di scrivere regole specifiche a livello di membro anziché utilizzare caratteri jolly troppo generici. E poiché si tratta di un argomento importante, abbiamo realizzato anche un video.

Inoltre, con il nuovo controllo lint per le regole di conservazione estese, Android Studio Otter 3 Feature Drop ti offre una copertura completa anche in questo caso.

image.png

Abbiamo anche pubblicato nuove linee guida su test e risoluzione dei problemi della configurazione R8 per aiutarti a configurarla correttamente e in tutta sicurezza.

Scopri di più nel nostro blog di martedì: Configurare e risolvere i problemi relativi alle regole di conservazione R8

Background Work

Abbiamo condiviso indicazioni sul debug di scenari comuni che potresti incontrare durante la pianificazione delle attività con WorkManager.

Background Task Inspector offre una rappresentazione visiva e una visualizzazione a grafico delle attività di WorkManager, aiutando a eseguire il debug del motivo per cui il lavoro pianificato è in ritardo o non è riuscito. Inoltre, la nostra pagina di destinazione aggiornata della documentazione relativa al lavoro in background mette in evidenza le API specifiche per attività ottimizzate per casi d'uso particolari, aiutandoti a ottenere un'esecuzione più affidabile.
 

Scopri di più nel nostro blog di mercoledì: Considerazioni sul rendimento del lavoro in background

L'ottimizzazione del rendimento è un percorso continuo

Se questa settimana hai accettato la nostra sfida per attivare la modalità completa R8, il passaggio successivo consiste nell'integrare il rendimento nella roadmap del prodotto utilizzando il punteggio di rendimento dell'app. Questo framework standardizzato ti aiuta a trovare le azioni con la leva più alta per un miglioramento continuo.

Abbiamo concluso la settimana con la sessione di domande e risposte #AskAndroid Live, in cui gli ingegneri hanno risposto alle tue domande più difficili su R8, Profile Guided Optimizations e altro ancora. Se l'hai persa, cerca la replica.

Grazie per aver partecipato. Ora inizia a creare e mantieni questo slancio.

Continua a leggere