【发布时间】:2011-03-23 20:04:50
【问题描述】:
依据:
- 活动 - 在每次方向更改时重新创建(onCreate-onDestroy)
- View 由 ViewFlipper 和两个孩子组成:简单的 RelativeLayout 和 ListView
- ListView 行具有复杂的布局和关联的标签
问题是我在每次方向更改时都有内存泄漏 - 活动在整个视图布局中保持在内存中。 Activity 本身是一个上下文,因此只要关联的对象会,它就会一直留在内存中。所以现在我正试图找出为什么会发生泄漏。
View 有 setTag() 方法。我正在使用它来存储有关行的一些信息(因此 ListView 中的每一行(视图)都有关联的标签)。
但是视图和 GC 是如何处理标签的呢?我的标签对象(持有人)包含对视图的引用,但如果视图删除对其标签的引用,则此引用(带有标签本身)将很容易收集。
有人遇到过类似的 ListViews 问题吗?
附:我想知道 GC 如何清理布局 - 大量的循环引用、上下文、持有者等......
【问题讨论】:
标签: android memory-leaks view