我使用RoboSpice库来执行异步任务。从他们的示例中,spice 服务在 BaseActivity 中声明,它在活动的 onStart 方法中启动,并在活动的 onStop 中停止。一切都很好,但是当我想从互联网下载文件,然后我切换到另一个活动时,这个下载任务被取消了,因为 spice 服务被停止了。看起来像:
public abstract class BaseActivity{
/** The request manager. */
private SpiceManager requestManager = new SpiceManager(RequestService.class);
@Override
protected void onStart() {
requestManager.start(this);
super.onStart();
}
@Override
protected void onStop() {
requestManager.shouldStop();
super.onStop();
}
}
所以我想知道是否有任何安全的方法可以让下载任务继续从 Spice 服务运行(此任务不触及 UI),并且另一个任务正常工作(意味着它们可以在停止活动时被取消)但它仍然可以尊重活动生活圈。