当我在一个活动中创建,添加和删除视图时,删除的视图的生命周期是什么?可以使用removeView()
或removeAllViews()
删除它们。
它们是否可以在移除后立即进行垃圾收集,或者直到活动消失为止?例如,因为附加了所有视图的任何注册。
我应该采取其他措施让它们快速用于垃圾收集吗?
答案 0 :(得分:0)
如果您已经以编程方式创建了View
,那么您需要确保两件事情,以确保View
是GC' d。
removeView()
的{{1}}致电ViewGroup
。这是因为View
将维护对孩子的引用。ViewGroup
的任何引用,例如作为View
类的字段。以这种方式维护对Activity
的引用将阻止它成为GC' d。有几篇关于如何避免内存泄漏的好文章,包括this one