【发布时间】:2012-07-25 15:04:02
【问题描述】:
据我所知,根据规范(以及标准的非安卓)java,如果一个对象只是“弱引用”,即只能通过弱引用访问 - 它将下次运行时由垃圾收集器收集。
在我的 android 应用中,由于某种原因,情况并非如此。
一个非常重的对象(Activity)每次创建时都留在堆中,但是当我执行堆转储并在 Eclipse 内存分析器中检查它时,我看到该对象仍然在堆中,即使它是只有弱引用(可以在合并路径到 GC 根选项中看到)
当我明确清除弱引用时,对象被清除。
我在 Android 2.3.3 上运行我的应用程序。它看起来像是某种平台错误。
我错过了什么吗? 有没有其他人遇到过这个问题?
谢谢, 约夫
【问题讨论】:
-
“我看到对象留在堆中”,什么样的对象?位图参考?
-
一项活动。那只是弱引用。
标签: java android weak-references