La scorsa settimana abbiamo approfondito 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 dai profili ai miglioramenti delle prestazioni con Jetpack Compose, fino a una nuova guida per 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 ad alte prestazioni.
Questo post funge da indice e roadmap per rivedere queste risorse ogni volta che hai bisogno di ottimizzare. Ecco i cinque concetti chiave del nostro percorso insieme.
Utilizza l'ottimizzatore R8 per velocizzare l'app
La modifica più efficace e con il minimo sforzo che puoi apportare è l'attivazione completa dell'ottimizzatore R8. Non si limita a ridurre le dimensioni dell'app, ma esegue ottimizzazioni approfondite dell'intero programma per riscrivere fondamentalmente il codice in modo da renderlo più efficiente. Rivedi le regole Keep e reintegra R8 nelle tue attività di progettazione.
La nostra documentazione aggiornata e ampliata sull'ottimizzatore R8 è qui per aiutarti.
Reddit ha osservato un avvio a freddo più veloce del 40% e il 30% di errori ANR in meno dopo aver attivato la modalità completa di R8.
Puoi leggere il case study completo sul nostro blog.
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 nelle prestazioni dell'app.
Quindi, 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 giorno 1: Utilizza R8 per ridurre, ottimizzare e velocizzare la tua app
Guida per migliorare il rendimento
I profili di riferimento eliminano di fatto la necessità della compilazione JIT, 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, grazie a un ordine intelligente dei file classes.dex dell'app.
Per scoprire di più sull'importanza dei profili di riferimento per le prestazioni delle app, leggi il blog di ingegneria di Meta, dove viene spiegato come i profili di riferimento hanno migliorato varie metriche sulle prestazioni critiche fino al 40% nelle loro app.
Continuiamo a migliorare le prestazioni di Jetpack Compose per te in Jetpack Compose 1.10. Funzionalità come la composizione che può essere messa in pausa e la finestra della cache personalizzabile sono fondamentali per mantenere lo scorrimento fluido quando si ha a che fare con elementi di elenchi complessi.Dai un'occhiata all'ultima puntata di #TheAndroidShow, in cui spieghiamo questo aspetto in modo più dettagliato.
Scopri di più nel nostro blog di mercoledì: Considerazioni sul rendimento più approfondite
Misurare il rendimento è facilissimo
Non puoi gestire quello che non misuri. La nostra guida per migliorare le prestazioni suddivide il tuo percorso di misurazione in cinque passaggi, partendo dai dati facilmente disponibili fino ad arrivare agli strumenti locali avanzati.
A partire dal livello 1, ti insegneremo a utilizzare i dati prontamente disponibili di Android vitals, che ti forniscono dati sul campo relativi ad 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 alle prestazioni della tua app.
Scopri di più nel nostro blog di giovedì: [Link to Thursday's Blog: Leveling Guide for your Performance Journey]
Il debug delle prestazioni è stato migliorato
L'ottimizzazione avanzata non dovrebbe comportare 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:
Rintraccio automatico di Logcat
A partire da Android Studio Narwhal, le analisi dello stack possono essere deoffuscate automaticamente nella finestra Logcat. In questo modo puoi visualizzare ed eseguire immediatamente il debug di eventuali arresti anomali in una build pronta per la produzione.
Regole di conservazione ristrette
Martedì abbiamo spiegato le regole Keep necessarie per correggere gli arresti anomali in fase di runtime, sottolineando l'importanza di scrivere regole specifiche a livello di membro anziché utilizzare caratteri jolly troppo generici. Poiché si tratta di un argomento importante, abbiamo anche realizzato un video per te.
E con il nuovo controllo lint per le regole Keep ampie, Android Studio Otter 3 Feature Drop ti copre anche in questo caso.
Abbiamo anche pubblicato nuove indicazioni su come testare e risolvere i problemi della configurazione di R8 per aiutarti a configurare correttamente l'applicazione.
Scopri di più nel nostro blog del martedì: Configura e risolvi i problemi relativi alle regole di conservazione R8
Lavoro in background
Abbiamo condiviso indicazioni sul debug di scenari comuni che potresti incontrare durante la pianificazione delle attività con WorkManager.
Background Task Inspector fornisce una rappresentazione visiva e una visualizzazione grafica delle attività di WorkManager, aiutandoti a eseguire il debug del motivo per cui il lavoro pianificato è in ritardo o non è riuscito. Inoltre, la nostra pagina di destinazione della documentazione aggiornata sul lavoro in background mette in evidenza le API specifiche per le attività ottimizzate per casi d'uso particolari, aiutandoti a ottenere un'esecuzione più affidabile.
Scopri di più nel nostro blog di mercoledì: Considerazioni sulle prestazioni del lavoro in background
L'ottimizzazione del rendimento è un percorso continuo
Se questa settimana hai accettato la nostra sfida di attivare la modalità completa di R8, il passaggio successivo consiste nell'integrare le prestazioni nella roadmap del prodotto utilizzando il punteggio delle prestazioni dell'app. Questo framework standardizzato ti aiuta a trovare le attività con il maggiore impatto per un miglioramento continuo.
Abbiamo concluso la settimana con la sessione di domande e risposte dal vivo #AskAndroid, in cui gli ingegneri hanno risposto alle tue domande più difficili su R8, ottimizzazioni guidate dal profilo e altro ancora. Se te lo sei perso, cerca la replica.
Grazie per la partecipazione. Ora, inizia a creare e mantieni questo slancio.
-
Eventi e programmiIniziamo con la modifica più efficace e semplice che puoi apportare per migliorare le prestazioni della tua app: l'attivazione dell'ottimizzatore R8 in modalità completa.
Ben Weiss • Tempo di lettura: 5 min -
Eventi e programmiL'ecosistema Android è una realtà multi-dispositivo che comprende smartphone, pieghevoli, tablet, indossabili, display per auto, XR e Googlebook. In questo panorama, lo sviluppo adattivo è fondamentale per raggiungere gli utenti ovunque si trovino.
Rebecca Gutteridge • Tempo di lettura: 3 min -
Eventi e programmiQuest'anno all'Android Dev Summit abbiamo condiviso il modo in cui gli strumenti per sviluppatori di Android si stanno evolvendo per aiutarti a essere più produttivo insieme ai tuoi agenti.
Adarsh Fernando • Tempo di lettura: 10 min
Ricevi gli ultimi approfondimenti sullo sviluppo Android direttamente nella tua casella di posta ogni settimana.