Le pagine seguenti forniscono informazioni su come migliorare l'utilizzo della memoria da parte dell'app.
Indicazioni generali sulla memoria
- Panoramica sulla memoria
- Spiega l'architettura di base della memoria di Android, i vincoli della RAM e il modo in cui il sistema operativo bilancia i processi utilizzando Low Memory Killer (LMK).
- Gestione della memoria
- Descrive le best practice per gli sviluppatori per il rilascio delle risorse durante i cicli di vita dei componenti, per evitare perdite e per gestire la memoria durante la transizione tra gli stati dei processi.
- Informazioni sulla memoria di Android e risoluzione dei problemi
- Fornisce una panoramica completa dell'architettura della memoria di Android, degli strumenti disponibili per l'analisi e degli esercizi pratici per aiutarti a identificare e risolvere i problemi relativi alla memoria.
Ottimizzazioni specifiche per area
- Panoramica sulla memoria dei giochi
- Fornisce indicazioni dettagliate sulla gestione del budget di memoria, sulla gestione dell'allocazione nativa e sulla gestione degli asset grafici, pensate appositamente per le app che utilizzano motori di gioco.
- Ottimizzare le immagini bitmap
- Mostra come dimensionare, decodificare e memorizzare nella cache gli asset bitmap in modo efficiente all'interno delle librerie di immagini.
- Gestire e diagnosticare la memoria di WebView
- Spiega il modello di memoria multiprocesso di WebView, descrive come gestire correttamente il suo ciclo di vita per evitare perdite e fornisce workflow pratici per la diagnosi dei problemi di memoria.
- Ottimizzazione del codice R8
- Spiega come utilizzare R8 per ridurre le dimensioni dell'APK, l'overhead dei metadati e il consumo di memoria di runtime.
Strumenti di debug della memoria locale
- Strumenti di Android Studio
- Fornisce workflow di ispezione dell'heap in tempo reale, monitoraggio dell'allocazione della memoria e rilevamento delle perdite direttamente all'interno dell'IDE.
- Esplora dump dell'heap di Perfetto
- Offre un'analisi visiva approfondita dei dump dell'heap nativi e Java/Kotlin per isolare gli alberi di oggetti conservati e le allocazioni di memoria anonime.
- Acquisire una traccia di sistema sul dispositivo
- Mostra come registrare le tracce a livello di sistema sul dispositivo per risolvere i bug relativi alle prestazioni dell'app.
- Eseguire il debug della memoria utilizzata su Android
- Insegna come comprendere la gestione della memoria di Linux e utilizzare strumenti come dumpsys meminfo, Perfetto, profili dell'heap nativo e dump dell'heap per monitorare l'utilizzo della memoria e identificare le perdite.
Strumenti di memoria a livello di produzione
- Android vitals: memoria utilizzata (RSS anonimo + swap)
- Android vitals condivide la memoria utilizzata dell'app di produzione suddivisa per gli stati dei processi: primo piano, servizio in primo piano, servizio in background.
- Android vitals: utilizzo della memoria bitmap
- Android vitals fornisce metriche sul footprint della memoria bitmap di un'app aggregando i dati dei dispositivi Android
- Android vitals: ottimizzazione del codice DEX
- Android vitals può avvisarti quando i livelli di ottimizzazione del codice DEX della tua app sono bassi. Sono inclusi offuscamento, riduzione e ottimizzazione per app e giochi che utilizzano R8
- Crashlytics
- Mostra le eccezioni di memoria insufficiente (OOM) di produzione e le interruzioni del limitatore di memoria con il contesto diagnostico per dare la priorità e correggere gli arresti anomali sul campo.
- ProfilingManager
- API avanzata che consente alle app di raccogliere e caricare a livello di programmazione i dump dell'heap e i profili dell'heap di produzione dalle sessioni utente attive.
Risorse aggiuntive
Post del blog
- Preparare l'app per limiti di memoria più ampi
- Dare la priorità all'efficienza della memoria: passaggi essenziali per Android 17
Video
Progettare app per Android con prestazioni di memoria elevate