片段中的加载器 - 片段是否会泄漏?

时间:2016-09-27 05:10:26

标签: android android-fragments memory-leaks

考虑Android教程中的this示例

getLoaderManager()。initLoader(0,null,this);

被称为onActivityCreated,给出了加载器CursorLoaderListFragment.this实例,据我所知,没有代表片段生命周期等于Activity因此{{1} } 生命周期。那么,如果在LoaderManager仍然存在的情况下移除片段会不会导致内存泄漏?

如果是,那么他们应该如何纠正这个例子?

1 个答案:

答案 0 :(得分:2)

当绑定的片段或活动破坏时,装载程序被销毁并清理。即如果将Fragment实例传递给initLoader(),则销毁该Fragment实例时会破坏Loader。

参考:

https://medium.com/google-developers/making-loading-data-on-android-lifecycle-aware-897e12760832#.ai7whgsv4

  

装载机不会永远存在。它们会被自动清理干净   当请求的活动或片段被永久销毁时。   这意味着没有挥之不去的不必要的负担。