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 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 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, 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, il sovraccarico dei metadati e il consumo di memoria di runtime.
Strumenti di debug della memoria locale
- Strumenti di Android Studio
- Fornisce workflow per l'ispezione dell'heap in tempo reale, il monitoraggio dell'allocazione della memoria e il 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 conservati e le allocazioni di memoria anonima.
- 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 nella tua 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 di produzione della tua app 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.
- 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 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