RxAndroid-在活动被销毁时保存数据
考虑以下情况:RxAndroid-在活动被销毁时保存数据,android,rx-java,rx-android,Android,Rx Java,Rx Android,考虑以下情况: 在Activity1执行计算量大的任务(假设需要20秒) 用户在第10秒杀死了Activity1 任务完成后,将数据保存到数据库中。(不需要UI更新) 现在,由于subscription.unsubscripte(),我无法将数据保存到数据库中 问题: 最好的模式是什么,这样在任务完成后就不会有数据丢失?我认为,只要您不希望在当前的活动中看到操作的结果,并且操作非常长,就不应该在活动中调用它。我认为,您应该在服务中执行此操作,该服务可以从活动调用。您也可以在服务中使用RxJa
- 在Activity1执行计算量大的任务(假设需要20秒)
- 用户在第10秒杀死了Activity1
- 任务完成后,将数据保存到数据库中。(不需要UI更新)
subscription.unsubscripte()在OnDestory()上调用code>代码>,我无法将数据保存到数据库中
问题:
最好的模式是什么,这样在任务完成后就不会有数据丢失?我认为,只要您不希望在当前的活动中看到操作的结果,并且操作非常长,就不应该在活动中调用它。我认为,您应该在服务
中执行此操作,该服务可以从活动
调用。您也可以在服务中使用RxJava。操作完成后,您可以向活动
或其他地方发送通知(例如,通过类似Otto的事件总线或通过自定义广播接收器
或通过使用RxJava实现的自定义事件总线)。在这种情况下,您将独立于活动
生命周期,无论一个活动
被销毁或暂停,都将执行操作。在活动1执行计算繁重的任务?我想你应该看看JobIntentService
。