如何正确停止装载机?

时间:2016-04-27 14:37:11

标签: android android-loader

我使用扩展Loader的类。 我得到结果后如何停止我的装载机?

当我旋转手机时,我再次得到结果:

@Override
public void onLoadFinished(Loader<Data> loader, Data data) {
      makeWorkWithData();
      //... finish this loader? (or delete result)
}

2 个答案:

答案 0 :(得分:5)

使用此:

@Override
public void onLoadFinished(Loader<Data> loader, Data data) {
      makeWorkWithData();
      stopLoader(id);
} 

void stopLoader(int id) {
     getLoaderManager().destroyLoader(id);
}

当需要再次提出请求时,请致电getLoaderManager().restartLoader()...

答案 1 :(得分:1)

我对Androids Loaders API不满意,因为轮换将导致Loaders重新开始他们所做的工作。这就是我使用和创建Android可保留任务库的原因。它的重量轻,基于Android AsyncTask API,但具有自动旋转处理功能。您可能想要检查它并使用它而不是装载机。

https://github.com/NeoTech-Software/Android-Retainable-Tasks

免责声明:我是Android可保留任务的作者。