En las siguientes páginas, se proporciona información para mejorar el uso de memoria de tu app.
Orientación general sobre la memoria
- Descripción general de la memoria
- Explica la arquitectura de memoria principal de Android, las restricciones de RAM y cómo el sistema operativo equilibra los procesos con el optimizador de poca memoria (LMK).
- Administración de la memoria
- Describe las prácticas recomendadas para desarrolladores para liberar recursos en los ciclos de vida de los componentes, evitar fugas y administrar la memoria cuando se realiza la transición entre los estados del proceso.
- Información sobre la memoria de Android y cómo solucionar problemas relacionados con ella
- Proporciona una descripción general completa de la arquitectura de memoria de Android, las herramientas disponibles para el análisis y ejercicios prácticos para ayudarte a identificar y resolver problemas relacionados con la memoria.
- Cómo establecer presupuestos de memoria para apps
- Explica cómo declarar y administrar los presupuestos de memoria de la aplicación para reducir el uso de memoria al conjunto de trabajo activo de tu app.
Optimizaciones específicas del área
- Descripción general de la memoria de los juegos
- Detalla la administración del presupuesto de memoria, el control de la asignación nativa y la orientación sobre la administración de recursos gráficos, todo ello adaptado específicamente para las apps que usan motores de juegos.
- Cómo optimizar imágenes de mapa de bits
- Muestra cómo dimensionar, decodificar y almacenar en caché recursos de mapa de bits de manera eficiente dentro de las bibliotecas de imágenes.
- Cómo administrar y diagnosticar la memoria de WebView
- Explica el modelo de memoria multiproceso de WebView, describe cómo administrar correctamente su ciclo de vida para evitar fugas y proporciona flujos de trabajo prácticos para diagnosticar problemas de memoria.
- Optimización de código con R8
- Explica cómo usar R8 para reducir el tamaño del APK, la sobrecarga de metadatos y el consumo de memoria en el tiempo de ejecución.
Herramientas de depuración de memoria local
- Herramientas de Android Studio
- Proporciona flujos de trabajo de inspección del montón en tiempo real, seguimiento de la asignación de memoria y detección de fugas directamente en el IDE.
- Explorador de volcados de montón de Perfetto
- Ofrece un análisis visual detallado de los volcados de montón nativos y de Java o Kotlin para aislar los árboles de objetos retenidos y las asignaciones de memoria anónimas.
- Cómo capturar un registro del sistema en el dispositivo
- Muestra cómo registrar seguimientos a nivel del sistema en el dispositivo para abordar errores relacionados con el rendimiento en tu app.
- Cómo depurar el uso de memoria en Android
- Enseña a comprender la administración de la memoria de Linux y a usar herramientas como
dumpsys meminfo, Perfetto, perfiles del montón nativos y volcados de montón para hacer un seguimiento del uso de memoria y detectar fugas.
Herramientas de memoria a nivel de producción
- Android vitals: Uso de memoria (RSS anónimo + intercambio)
- Android vitals comparte el uso de memoria de producción de tu app desglosado por los estados del proceso en primer plano, servicio en primer plano y servicio en segundo plano.
- Android vitals: Uso de memoria del mapa de bits
- Android vitals proporciona métricas sobre el espacio en memoria de mapa de bits de una app agregando datos de dispositivos Android.
- Android vitals: Optimización del código DEX
- Android vitals puede enviarte alertas cuando los niveles de optimización del código DEX de tu app son bajos. Esto incluye la ofuscación, la reducción y la optimización para las apps y los juegos que usan R8.
- Crashlytics 20.1.0
- Muestra las excepciones de memoria insuficiente (OOM) de producción y los cierres del limitador de memoria con contexto de diagnóstico para priorizar y corregir las fallas en el campo.
- ProfilingManager
- API avanzada que permite que las apps recopilen y suban de forma programática volcados y perfiles de montón de producción desde sesiones de usuarios en vivo.
Recursos adicionales
Para obtener más información sobre la memoria, consulta los siguientes recursos adicionales:
Entradas de blog
- Cómo preparar tu app para límites de memoria más amplios
- Priorización de la eficiencia de la memoria: Pasos esenciales para Android 17