¿Cómo acceder a Classloaders / App Linearalloc classinformation size?
INFO: No es el problema de LinearAlloc que debe ser resuelto aquí!
Hola,
- Android ¿Cómo se obtiene memoria RAM total en el dispositivo?
- Error fatal: Adreno-GSL
- Herramienta para comprobar fugas de memoria en android
- Android con poca memoria, por ninguna razón obvia
- Comprobar y evitar fugas de memoria en la aplicación
mi problema es el análisis de un LinearAlloc superó el error de capacidad (1). Aunque ya tengo una solución para el error, todavía necesito una forma de analizar el tamaño utilizado de la aplicación en ejecución. Estoy usando Android 4.0.3 (la actualización no es una opción), lo que significa que la capacidad es de 8mb.
El error se produce en tiempo de ejecución, porque la aplicación / biblioteca se carga dinámicamente (2). En LinearAlloc.cpp (3) en la línea 306 sería mi solución:
LOGVV("--- old=%d size=%d new=%d", startOffset, size, nextOffset);
¿Cómo habilitar el VeryVerbose Loglevel?
O
¿Hay otra manera de acceder al tamaño de la memoria usada del encabezado del cargador de clase bootclasspath (ver (3))?
Tal vez de NDK-Api?
Si me informan correctamente es la memoria para classinformation. La memoria específica para ese uso es lo que estoy buscando.
¿Qué cantidad de la capacidad se utiliza y cómo se puede acceder en tiempo de ejecución?
No es necesario acceder a ella en el código sólo necesito el valor. Si es calculable de dumpsys meminfo
o DDMS
también resolvería el problema.
Las soluciones que no necesitan root son preffered!
(1) LinearAlloc excedió la capacidad
(2) No se permite publicar 3 enlaces: google: Custom Classloading Android
(3) LinearAlloc.cpp
Editar: Añadido NDK-API como posible solución.
PS Es mi primera pregunta / post cualquier sugerencia para improvment son bienvenidos.
- Tamaño del mapa de bits devuelto por la cámara a través de la intención?
- ¿Cómo utilizar Valgrind con la aplicación android en Eclipse en Ubuntu para encontrar fugas de memoria de código nativo android en tiempo de ejecución?
- ¿Cuál es la cantidad máxima de RAM que una aplicación puede usar?
- OutOfMemoryError al cargar actividades
- Tipos de memoria de Android (RAM v Memoria interna)
- ¿Cuándo es exactamente seguro usar clases anónimas internas?
- Fuera de los errores de memoria se producen con un tamaño de montón alto pero tamaño asignado bajo. ¿Por qué?
- Android crea carpetas en el problema de memoria interna
Como sé que no hay un SDK / NDK API para Dalvik LinearAlloc tamaño. Pero puede calcular este tamaño accediendo a la interfaz de Linux / proc // smap para obtener información detallada.
Smap:
/dev/ashmem/dalvik-LinearAlloc
En el código Dalvik, este tamaño máximo de mapa de memoria es 16M . Y esta memoria es asignada por mmap, por lo que el bloque básico es 4K. Así que si quieres calcular este uso de la memoria está utilizando RSS
@ Smap.
- Dibujo de mapa de bits de mosaico con alineación inferior
- API o bibliotecas para la vista de pdf desde url en Android