【发布时间】:2012-11-12 00:43:55
【问题描述】:
我们在 Elipse 内存分析工具(在 DDMS 视图中)中看到的堆使用量(已分配)与此处显示的 Android 设备上同一应用程序的内存使用量大小有什么区别?:
设置->应用程序->运行
尽管我积极尝试通过在不需要对象时立即将对象设为 null 来保留内存,但后一个数字(运行应用程序屏幕上的内存使用量大小)只会不断增加,我的应用程序最终由于 OutOfMemoryError 而崩溃。然而,前者向我表明我的体型在合理范围内。我也经常调用 System.gc()。两者有区别吗?为什么会出现差异?关于如何解决这个问题的任何想法?
【问题讨论】:
-
您在哪个 Android 版本上进行测试?您在使用位图吗?
-
我实际上正在研究 ICS,但尽量保持向后兼容性。是的,我正在使用位图,这是我的恐惧 - 活动退出时不应该清除那些吗?显式 GC 之后呢?如果没有,我应该手动执行此操作吗?如何?无论如何,我使用的位图不是大文件 - 再现后它们的大小会增加吗?
标签: android memory-management out-of-memory