2

我有一个Activity. 这ActivityListView一个BaseAdapter附加的。在onDestroy中,适配器被存储在一个类中,在onCreate它被重新附加到新的Activity. 适配器从 Internet 加载内容并ViewsListView. 为了能够AsyncTask从适配器启动(加载我的数据),它需要一个LoaderManager. 我ActivitygetSupportLoaderManager()我的Activity.

  1. 以下是否正确:当适配器被保留并重新附加到Activities时,它将始终持有对Activity我第一次传递给它的旧的、早已不复存在的引用,这可能/将导致内存泄漏?

  2. 我怎样才能防止这种情况?LoaderManager每次将适配器重新连接到新Activity适配器时,我都考虑过更换适配器ActivitygetSupportLoaderManager()这是安全/常见的吗?

  3. 我一般如何才能找到对“旧”的可能危险的引用Activities

4

1 回答 1

1

摆脱你的静态数据成员。使用保留的片段,或onRetainNonConfigurationInstance(),在配置更改时保留适配器。

我一般如何才能找到对“旧”活动的可能危险引用?

如果“危险”是指“泄漏”,请使用 MAT

于 2013-09-11T13:56:28.480 回答