我有一个包含大约 10 个和更多活动的应用程序。
我正在尝试与后端服务器同步。(我发送一些数据,然后取回一些数据,这些数据存储在数据库等中)
只要我的应用程序可见,我就想保持同步运行。我的问题是在 Android 上没有“我的应用程序正在运行”的真正概念。此外,用户可能有很多退出点,以至于很难知道我应该将代码放在哪个 onPause/onStop 中。(纠正我,如果我在这里错了,请解释)。
请注意,我不会从此同步机制中更改与 GUI 相关的内容。
我被建议了几个可以总结如下的解决方案。
- 做一个服务并将其绑定到每个活动。只要服务有所有者,它就会运行,只要它没有,它就会停止。
- 使用参考计数器进行同步。获取一个运行同步的单例类,并在每个 onStart 和 onStop 上,添加或减去我的计数器,并在计数器为 0 时停止同步。
- 子类化应用程序上下文(或制作静态变量)以查看每个活动的状态,并在每个 onResume 和 onPause 内部进行检查并相应地启动/暂停/停止同步。
推荐哪种方法,如果有其他想法,请分享。