我有问题,beetwen两个后续调用startService IntentService的私人数据被清除 - 我假设服务在第一次调用完成后停止,然后在处理第二次调用时重新创建。有什么办法可以强制IntentService不被重新创建,或者将这些私有数据存储在startService例程的两个后续调用中是相同的吗?有没有办法强制IntentService不被重新创建?
4
A
回答
2
我假设服务在第一次调用完成后停止,然后在处理第二次调用时重新创建。
不会。只有在收到的所有Intents
都已处理完毕后才会停止。
3
如果你想尝试来保持跨实例的数据,你可以把它放在一个静态变量。一个典型的例子是:你有一些你加载磁盘的状态,所以你创建一个全局单例,它在第一次实例化时加载数据,然后进一步请求它使用相同的实例(不需要重新加载数据)。当你的服务的一个新实例在onCreate()中检索单例时,如果之前的服务实例已经请求了它,它不需要重新加载。
当做这样的设计时,了解您的流程的生命周期以及何时可以杀死流程非常重要。否则,当正常操作过程中死亡时,可能会以相当随机的点丢失数据。
相关问题
- 1. 有没有办法*真的*强制pydev使用强制内建?
- 2. 有没有办法强制cin提交?
- 3. 有没有办法强制启用quicktime?
- 4. git merge:有没有办法强制--squash?
- 5. 有没有办法强制调用重写的方法?
- 6. 有没有什么办法重新创建packages.config文件?
- 7. 有没有办法使用ODI方案重新创建ODI包?
- 8. 有没有办法重新命名由D3创建的类?
- 9. 有没有办法在PHP中从流中重新创建PDF?
- 10. 有没有办法强制模型在MVC3控制器中重新验证?
- 11. 有没有办法记录谁在CC.Net中创建了一个强制构建?
- 12. 在Haskell中,有没有办法强制强制多态呼叫?
- 13. 有没有办法用SlickGrid强制单行刷新?
- 14. 有没有办法强制Firefox在新进程中启动?
- 15. 有没有办法强制刷新主机?
- 16. 有没有办法强制install4j auto updater更新当前版本?
- 17. 有没有办法强制MonoDevelop构建/加载程序集?
- 18. 新行没有被创建
- 19. 有没有办法强制不同设备的不同方向?
- 20. 在IDEA中,有没有办法强制重新编排Maven快照?
- 21. 有没有办法手动强制刷新离子收集重复?
- 22. 有没有办法在AngularJS中强制重新加载递归ng-include?
- 23. jqGrid with inlineNav:有没有办法强制添加按钮重新启用?
- 24. 有没有办法强制骨干重新路由到当前的URL?
- 25. 有没有办法重新组织UIStoryboard?
- 26. 有没有办法确定任务是否被重新分配?
- 27. 有没有办法强制重建目标(make -B)而不重建它的依赖关系?
- 28. 有没有办法强制浏览器不缓存?
- 29. 有没有办法强制WebClient,不返回缓存数据?
- 30. 有没有办法强制复制,只复制插入和更新的数据?
好吧,让我们假设第一个意图已经发送,然后它由IntentService处理,并且IntentService被停止。一段时间后,第二个意图被发送 - 我如何恢复IntentService的上下文来处理以前的意图? – miqqo 2011-02-05 22:50:56