java - 我可以获得我的程序剩余多少内存吗?

标签 java android memory

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

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

关于java - 我可以获得我的程序剩余多少内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6471167/

相关文章:

java - antlr4 简化数学表达式

java - 自动选择文件 I/O 的缓冲区大小

java - 是否有任何简单有效的开源 Java 数据库支持的队列库?

c++ - 是否设置数组的某些字段,将其他字段设置为零?

java - 使用 String.formatter 分隔到不同的行

android - 使用 Kotlin 将原生广告添加到 Flutter 项目

Android Studio 运行时显示黑屏

javascript - Android 在动态添加类时与一般兄弟选择器的奇怪行为

matlab - 是否可以在不将单元格加载到内存的情况下将数据添加到 matlab 单元格中?

debugging - 除了查找可重现的内存泄漏之外,我还可以使用 Visual C++ 调试 CRT 分配 Hook 做哪些有用的事情?