【发布时间】:2013-02-10 16:48:37
【问题描述】:
我对 Android 生命周期模型的理解是,当调用 onPause() 时,我应该保存任何需要保存的状态,因为我的应用程序可能在我返回后的任何时候终止。我的目标是 Gingerbread,所以 onStop 可能永远不会被调用。
但是,在我的应用程序中,某些状态被保存在远程服务器上。我会定期刷新此状态,但如果调用 onPause 我不确定正确的做法,因为我的理解是一旦 onPause 返回我的应用程序可能会被杀死。由于我必须在另一个线程中运行 android http 请求,这似乎有问题:如果我在 onPause 中启动请求然后返回,那么我的应用程序可能会在保存状态的远程请求完成(甚至启动!)之前被终止。
我在想我应该在我睡觉并等待请求工作的地方进行某种同步,但首先我不确定我什至可以在 onPause 中做到这一点,其次,onPause 不应该需要很长时间才能完成,因此如果存在网络延迟,这也可能会导致问题。
当需要将状态刷新到远程服务器或通常通过某种需要单独线程的方法时,是否有一些推荐的方法在 onPause 中保存状态?
【问题讨论】:
标签: android http android-lifecycle onpause