2012-01-31 10 views

Respuesta

9

Técnicamente no hay restricciones en el NDK. Someone preguntó esto hace un tiempo y fue referido al this android-ndk Groups thread. Una cita relevante:

"Además, dado que esta es la lista NDK, el límite es en realidad no impuesta a usted, porque es sólo en el montón de Java No hay límite en asignaciones en el montón nativo. ..."

Dianne Hackborn

ella no va a decir que no debe ser objeto de abuso y si se trata de aplicaciones podría ser matado.

+0

En Android O, las cosas parecen haber cambiado en términos de uso de la memoria: creo que los mapas de bits se almacenan en la memoria nativa. ¿Cómo lidiarías con eso? Por ejemplo, ¿cómo decidirías sobre el tamaño de la memoria caché? He preguntado sobre esto aquí: https://stackoverflow.com/q/48091403/878126 –

2

No hay una respuesta simple a esto; puede usar tanta memoria como tenga el dispositivo, menos lo que está usando para otros programas. Cuando Android piensa que tiene poca memoria, comenzará a matar las tareas en segundo plano, por lo que es un límite suave. La mayoría de los dispositivos no tienen espacio de intercambio. Puede obtener algunas estadísticas sobre la memoria del dispositivo desde dentro de Dalvik con android.app.ActivityManager.MemoryInfo (supongo que hay un equivalente de NDK).

1

adb shell dumpsys meminfo PACKAGENAME le dará uso de la memoria nativa y dalvik de su aplicación.

Cuestiones relacionadas