我有Activity
。此Activity
附加ListView
BaseAdapter
。
在onDestroy
中,适配器存储在一个类中,在onCreate
中,它会重新连接到新的Activity
。
适配器从Internet加载内容并为Views
创建ListView
。
为了能够从适配器启动AsyncTask
(以加载我的数据),它需要LoaderManager
。我使用Activity
的{{1}}将其从getSupportLoaderManager()
传递给适配器。
以下是否正确:当适配器被保留并重新连接到Activity
时,它将始终保留对我第一次传递给它的旧的Activities
的引用,可能/会导致内存泄漏?
如何防止这种情况?我想过每次将适配器Activity
重新附加到新LoaderManager
Activity
Activity
的新getSupportLoaderManager()
时?
这是安全/普通的吗?
我怎样才能找到对“旧”Activities
的可能危险的引用?
答案 0 :(得分:1)
摆脱静态数据成员。使用保留的片段或onRetainNonConfigurationInstance()
来保持适配器跨配置更改。
我如何能够找到对“旧”活动的可能危险的引用?
如果“危险”是指“泄露”,use MAT。