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
- Preparare l'app per limiti di memoria più ampi
- Dare la priorità all'efficienza della memoria: passaggi essenziali per Android 17