Le pagine seguenti forniscono informazioni su come migliorare l'utilizzo della memoria da parte della tua app.
Indicazioni generali sulla memoria
- Panoramica della memoria
- Spiega l'architettura di base della memoria Android, i vincoli della RAM e come il sistema operativo bilancia i processi utilizzando Low Memory Killer (LMK).
- Gestione della memoria
- Descrive le best practice per gli sviluppatori per il rilascio di risorse nei cicli di vita dei componenti, evitando perdite e gestendo la memoria durante la transizione tra gli stati del processo.
- Informazioni sulla memoria Android e risoluzione dei problemi
- Fornisce una panoramica completa dell'architettura della memoria di Android, degli strumenti disponibili per l'analisi e di esercizi pratici per aiutarti a identificare e risolvere i problemi relativi alla memoria.
- Impostare budget di memoria per le app
- Spiega come dichiarare e gestire i budget di memoria delle applicazioni per ridurre l'utilizzo della memoria al working set attivo della tua app.
Ottimizzazioni specifiche per area
- Panoramica della memoria dei giochi
- Descrive in dettaglio la gestione del budget di memoria, la gestione dell'allocazione nativa e le indicazioni per la gestione degli asset grafici personalizzate in modo specifico per le app che utilizzano motori di gioco.
- Ottimizzazione delle 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 WebView
- Spiega il modello di memoria multiprocesso di WebView, descrive come gestire correttamente il suo ciclo di vita per evitare perdite e fornisce flussi di lavoro pratici per diagnosticare i 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 flussi di lavoro di ispezione dell'heap in tempo reale, monitoraggio dell'allocazione della memoria e rilevamento delle perdite direttamente all'interno dell'IDE.
- Perfetto Heap Dump Explorer
- Offre un'analisi visiva approfondita dei dump dell'heap nativi e Java o Kotlin per isolare gli alberi di oggetti conservati e le allocazioni di memoria anonima.
- Acquisire una traccia di sistema sul dispositivo
- Mostra come registrare tracce a livello di sistema sul dispositivo per risolvere i bug relativi alle prestazioni della tua app.
- Eseguire il debug della memoria utilizzata su Android
- Spiega come comprendere la gestione della memoria di Linux e utilizzare strumenti come
dumpsys meminfo, Perfetto, profili heap nativi 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 mostra l'utilizzo della memoria di produzione della tua app suddiviso per stati del processo servizio in primo piano, servizio in primo piano e servizio in background.
- Android vitals: memoria utilizzata dalle bitmap
- Android vitals fornisce metriche sull'impronta 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 l'offuscamento, la riduzione e l'ottimizzazione per app e giochi che utilizzano R8.
- Crashlytics 20.1.0
- Mostra eccezioni di esaurimento della memoria (OOM) e interruzioni del limitatore di memoria con 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 dump dell'heap e profili dell'heap di produzione dalle sessioni utente attive.
Risorse aggiuntive
Per saperne di più sulla memoria, consulta le seguenti risorse aggiuntive:
Post del blog
- Preparare l'app per limiti di memoria più ampi
- Priorità all'efficienza della memoria: passaggi essenziali per Android 17