在onDestroy之后,Loader仍然存在

时间:2018-02-07 15:29:36

标签: java android android-loadermanager

因此,从Loaders的文档中可以看出,当Activity或Fragment被销毁时,LoaderManager会破坏加载器,但是当旋转屏幕时会调用活动回调onDestoy()。但是装载机仍然以某种方式保留了它的数据。任何人都可以解释加载器何时被销毁以及何时保留数据。

2 个答案:

答案 0 :(得分:0)

如果您访问Android开发人员文档,您会发现此文本可以回答您的问题。

加载程序在不同的线程上运行,以防止janky或无响应的UI。 加载程序通过在事件发生时提供回调方法来简化线程管理。 加载程序会保留并在配置更改中缓存结果,以防止重复查询。

来源:https://developer.android.com/guide/components/loaders.html

与FragmentManager在配置更改期间自动重新创建它的片段并使用EditText等唯一ID保存小部件的值时,Loaders会在配置更改期间保留其结果,以防止重复查询,从而浪费资源和时间。

答案 1 :(得分:0)

Android文档声明Loaders可以为您节省处理Fragment和Activity生命周期的工作:

  

如果您从另一个线程(可能使用AsyncTask)获取数据,那么您负责通过各种活动或片段生命周期事件(例如onDestroy()和配置更改)来管理线程和UI线程。

我认为Loader API适用于这种行为(在旋转屏幕时保留数据,暂停活动等等。)

来源:https://developer.android.com/guide/components/loaders.html