To avoid OOM, the dvm mem limit should >= java mem usage + native mem usage
So i need to know how to estimate both java mem usage and native mem usage.
There are some tools which can report the java mem usage clearly. But i don't know how to estimate the native mem usage. As you say, "older" vm won't report that.
To resolve OOM, what i do first is to find the component(s) which consumed the most memory, then improve it.
In short, for my app, the java mem usage is about 11.5M(5M for mesh, 1.5M for animation, 2M for textures, 500K for VisList...). But i have no idea about the native memory usage, so i don't know which one (of mesh、animation、textures) should i decrease first, because i want to get the most benefit of memory-improvement with the least modifying. Does the mesh(Object3D) use the native memory? Does the animation(bones) use the native memory? Dose the textures use the native memory?
And i want to add some features in my app in future, so i need to know the left mem of vm = vm limit - "java mem used "- "native mem used ".