Ottimizzazione completa: riepilogo della settimana dedicata al rendimento
Lettura di 3 minuti
Abbiamo trascorso la settimana scorsa approfondendo le best practice e le indicazioni che aiutano a rendere le app Android più veloci, più piccole e più stabili. Dai poteri fondamentali dell'ottimizzatore R8 e delle ottimizzazioni guidate dal profilo, 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 con un buon rendimento.
Questo post funge da indice e roadmap per rivedere queste risorse ogni volta che devi eseguire l'ottimizzazione. Ecco i cinque punti chiave del nostro percorso insieme.
Utilizza l'ottimizzatore R8 per velocizzare la tua app
La modifica più efficace e che richiede meno sforzo che puoi apportare è l'attivazione completa dell'ottimizzatore R8. Non solo riduce le dimensioni dell'app, ma esegue anche ottimizzazioni approfondite dell'intero programma per riscrivere fondamentalmente il codice in modo da renderlo più efficiente. Rivedi le regole di conservazione e reinserisci R8 nelle tue attività di progettazione.
La nostra documentazione sull'ottimizzatore R8, recentemente aggiornata ed espansa, è qui per aiutarti.
Dopo aver attivato la modalità completa di R8, Reddit ha osservato un avvio a freddo più veloce del 40% e il 30% in meno di errori ANR.
Puoi leggere il case study completo sul nostro blog.
Gli ingegneri di Disney+ investono nelle prestazioni delle app e stanno ottimizzando l'esperienza utente dell'app. A volte anche modifiche apparentemente piccole possono avere un impatto enorme. Durante l'ispezione della configurazione di 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, non devi fare altro che inviargli il link a questo post.
Scopri di più nel nostro blog del primo giorno: Utilizza R8 per ridurre, ottimizzare e velocizzare la tua app
Indicazioni per migliorare le prestazioni
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, grazie a un ordine intelligente dei file classes.dex dell'app.
Per scoprire di più sull'importanza dei profili di base per le prestazioni delle app, leggi il blog di progettazione di Meta , in cui viene spiegato come i profili di base hanno migliorato varie metriche di prestazioni critiche fino al 40% nelle loro app.
Continuiamo a rendere Jetpack Compose più performante in Jetpack Compose 1.10. Funzionalità come la composizione sospendibile e la finestra della cache personalizzabile sono fondamentali per mantenere lo scorrimento senza interruzioni quando si tratta di 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 sulle prestazioni
Misurare le prestazioni può essere facile come contare fino a tre
Non puoi gestire ciò che non misuri. La nostra guida al miglioramento 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 insegneremo a utilizzare i dati facilmente disponibili di Android Vitals, che ti fornisce dati sul campo relativi a errori ANR, arresti anomali e consumo eccessivo della batteria.
Ti insegneremo anche come migliorare il tuo livello. Ad esempio, ti 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 to Thursday's Blog: Leveling Guide for your Performance Journey]
Il debug delle prestazioni è stato appena aggiornato
L'ottimizzazione avanzata non deve 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:
Retrace 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 demistificato le regole di conservazione necessarie per correggere gli arresti anomali di runtime, sottolineando l'importanza di scrivere regole specifiche a livello di membro anziché utilizzare caratteri jolly eccessivamente ampi. E poiché è un argomento importante, abbiamo anche realizzato un video.
Inoltre, con il nuovo controllo lint per le regole di conservazione ampie, il Feature Drop 3 di Android Studio Otter ti offre anche questa funzionalità.
Abbiamo anche pubblicato nuove indicazioni per testare e risolvere i problemi della configurazione di R8, in modo da aiutarti a configurarla correttamente in tutta sicurezza.
Scopri di più nel nostro blog di martedì: Configure and troubleshoot R8 Keep Rules
Lavoro in background
Abbiamo condiviso indicazioni per il debug degli scenari comuni che potresti incontrare durante la pianificazione delle attività con WorkManager.
L'ispettore delle attività in background fornisce una rappresentazione visiva e una visualizzazione del grafico delle attività di WorkManager, aiutando a eseguire il debug del motivo per cui il lavoro pianificato è in ritardo o non è riuscito. Inoltre, la pagina di destinazione della documentazione sul lavoro in background, aggiornata, mette in evidenza le API specifiche per le attività ottimizzate per casi d'uso specifici, aiutandoti a ottenere un'esecuzione più affidabile.
Scopri di più nel nostro blog di mercoledì: Background work performance considerations
L'ottimizzazione delle prestazioni è un percorso continuo
Se questa settimana hai accettato la nostra sfida di attivare la modalità completa di R8, il passo successivo è integrare le prestazioni nella roadmap del prodotto utilizzando il punteggio delle prestazioni dell'app. Questo framework standardizzato ti aiuta a trovare le azioni più efficaci per il 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, sulle ottimizzazioni guidate dal profilo e altro ancora. Se non hai potuto partecipare, cerca la riproduzione.
Grazie per aver partecipato. Ora, inizia a creare e continua così.
-
Eventi e programmiIniziamo con la modifica più efficace e che richiede meno sforzo che puoi apportare per migliorare le prestazioni della tua app: l'attivazione dell'ottimizzatore R8 in modalità completa.
Ben Weiss • 5 min read -
Eventi e programmiStiamo aprendo le candidature per l'Android XR Developer Catalyst Program, un'iniziativa dedicata ad accelerare lo sviluppo di app Android XR pronte per il lancio entro il prossimo anno.
-
Eventi e programmiIl programma di Google I/O è qui.
1 min read
Ricevi ogni settimana nella tua casella di posta le ultime informazioni sullo sviluppo di Android.