如何结束已删除View的生命周期?

时间:2018-03-29 06:53:24

标签: android android-view android-lifecycle

当我在一个活动中创建,添加和删除视图时,删除的视图的生命周期是什么?可以使用removeView()removeAllViews()删除它们。

它们是否可以在移除后立即进行垃圾收集,或者直到活动消失为止?例如,因为附加了所有视图的任何注册。

我应该采取其他措施让它们快速用于垃圾收集吗?

1 个答案:

答案 0 :(得分:0)

如果您已经以编程方式创建了View,那么您需要确保两件事情,以确保View是GC' d。

  1. 从您添加removeView()的{​​{1}}致电ViewGroup。这是因为View将维护对孩子的引用。
  2. 确保您不在代码中维护对ViewGroup的任何引用,例如作为View类的字段。以这种方式维护对Activity的引用将阻止它成为GC' d。
  3. 有几篇关于如何避免内存泄漏的好文章,包括this one