Ole*_*ndr 5 android listview garbage-collection memory-leaks view
我现在正在与内存泄漏作斗争.所以我很好奇是否有任何方法可以手动销毁视图(在活动onDestroy方法中)?由于父子引用,上下文引用,标记等,整个布局(activity contentView)有点复杂.
GC现在无法收集我的布局.问题是隐藏在视图结构中......所以找到它的唯一方法是尝试破坏叶子视图,因此在某些时候GC会收集根视图,并让我知道问题所在的位置.
我的布局结构:ViewFlipper(RelativeLayout,ListView(ViewFlipper(RelativeLayout,RelativeLayout)))
Jos*_*arl 10
您可以从ViewGroup中删除视图,但无法手动销毁视图.如果您遇到内存泄漏,通常是因为您在Views之外持有对Context的长期引用.
View可以包含与其他视图相关的信息(即另一个视图的上下文),因为所有视图都被销毁了 - 很可能是因为Context被某些东西所持有(并且上下文对大多数事物都有处理 - 即你的所有观点)你无法释放记忆.