获取应用进程

时间:2015-06-14 18:30:48

标签: java android memory

我想了解我的Android应用目前使用多少内存以防止OutOfMemoryExceptions。我知道你可以通过调用Runtime.maxMemory();找到一个应用程序可以使用的最大内存 - 而在某些设备上这个内存非常低(24MB),因此内存将成为我游戏的一个问题。

当我在启动我的游戏引擎之前在onCreate()方法中调用Runtime.totalMemory()时,我得到~23MB - 在启动我的游戏引擎后调用在将一堆(小)位图加载到内存后,我得到了大约25MB的堆使用量。 2MB的差异可能正是我的GameEngine的用法(它仍然是早期版本),但我不是百分百肯定。

然而,这个内存使用量已经超过了一些低内存Android设备的maxMemory限制。我非常确定我的应用程序(例如共享库)没有主动创建的应用程序运行时的部分不计入maxMemory限制;但显然他们确实计算了总记忆力。

那么我怎么能确定我的应用程序在达到maxMemory限制之前使用了多少内存呢? Runtime.freeMemory()也无济于事。

0 个答案:

没有答案