繁体   English   中英

RxAndroid - 在活动被销毁时保存数据

[英]RxAndroid - save data when activity is destroyed

考虑这种情况:

  • 在Activity1执行计算繁重的任务(假设需要20秒)
  • 用户在第10秒杀死了Activity1
  • 任务完成后,将数据保存在数据库中。 (不需要UI更新)

现在,自subscription.unsubscribe(); OnDestory();OnDestory(); ,我无法将数据保存在数据库中。

问题:什么是最好的模式,以便在任务完成后不应该有数据丢失?

我想,只要你不期望在当前的Activity看到操作的结果并且操作真的很长,你就不应该在Activity调用它。 在我看来,您应该在Service执行此操作,该操作可以从Activity调用。 您也可以在Service使用RxJava。 操作完成后,您可以向Activity或其他地方发送通知(例如,通过像Otto这样的事件总线,或通过自定义BroadcastReceiver或通过使用RxJava实现的自定义事件总线)。 在这种情况下,您将独立于Activity生命周期,并且无论一个Activity被销毁还是暂停,都将执行操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM