Memoria di Android

Le pagine seguenti forniscono informazioni su come migliorare l'utilizzo della memoria da parte dell'app.

Indicazioni generali sulla memoria

Panoramica della 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.
Comprendere e risolvere i problemi di memoria di Android
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 l'area

Panoramica della memoria dei giochi
Fornisce indicazioni dettagliate sulla gestione del budget di memoria, sulla gestione dell'allocazione nativa e sulla gestione degli asset grafici, appositamente pensate 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, il sovraccarico 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 nativo e Java o Kotlin per isolare gli alberi di oggetti mantenuti 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 al rendimento 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 l'utilizzo della memoria utilizzata dell'app di produzione suddiviso per gli stati dei processi in primo piano, servizio in primo piano e servizio in background.
Android vitals: utilizzo della memoria bitmap
Android vitals fornisce metriche sull'impronta di memoria bitmap di un'app aggregando i dati dei dispositivi Android.
Crashlytics 20.1.0
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 in modo programmatico i dump dell'heap e i profili dell'heap di produzione dalle sessioni utente attive.

Risorse aggiuntive

Per ulteriori informazioni sulla memoria, consulta le seguenti risorse aggiuntive:

Post del blog

Video