我的程序有许多需要大量内存的作品,我无法确切知道何时需要停止它,但是如果剩下的内存很少,我可以强制它停止使用资源。那么,我可以获得我的程序可以使用的剩余内存(以字节为单位)吗?

P / s:无法释放过程内存。他们尽可能多地需要内存,这就是内存的工作方式(并且收集器没有垃圾,因为仍然需要旧内存)。

最佳答案

尝试类似的方法:

Debug.MemoryInfo memoryInfo = new Debug.MemoryInfo();
Debug.getMemoryInfo(memoryInfo);

String memMessage = String.format("Memory: Pss=%.2f MB,
    Private=%.2f MB, Shared=%.2f MB",
    memoryInfo.getTotalPss() / 1000,
    memoryInfo.getTotalPrivateDirty() / 1000,
    memoryInfo.getTotalSharedDirty() / 1000);

您可以在以下博客中了解更多信息:http://huenlil.pixnet.net/blog/post/26872625

08-06 02:02