【发布时间】:2013-07-07 07:35:55
【问题描述】:
我是根据一些事实写这个问题的。 比如我们不能明确控制垃圾收集器(GC)。所以也没有办法检查 GC 何时会从我暂停的活动中获取内存。
我正在谈论的测试用例: 我在 onCreate 方法中分配了许多对象,包括 HashMaps 和 ArrayLists。 其中一些用于存储位图的引用。 现在用户通过按主页按钮暂停活动。 比我长时间执行其他任务后忘记恢复相同的任务。 现在,当我回到暂停的活动时。
问题是:1) 有没有机会假装或假设在这种情况下,内存 GC 将首先获取什么?
2) gc 是仅获取整个活动还是仅获取部分空闲和空对象?
3) 假设在 5 到 6 小时后用户恢复活动,我怎么知道有些对象被垃圾回收了。
4) 如果某些对象被垃圾回收,那么在 onResume 中检查它们是否为空就足以进一步访问它们。
5) 在这种情况下如何处理空指针访问。
我很想听听每一个建议。 谢谢你的关注。 编码愉快。
【问题讨论】:
标签: android android-activity android-lifecycle android-memory