我有一个服务返回START_STICKY onStartCommand,并且由应用程序的onCreate上的startService启动,在我的活动中,我可以交互地绑定到该服务,但由于某种原因,每次我的所有活动都取消绑定它,但我可以保证stopSelf \ stopService永远不会被调用。可能是什么原因?解除绑定后服务被破坏
1
A
回答
3
好的,找到了答案 - DONT在onCreate上对startService的调用进行中继,因为在我的情况下,只有当我的主要活动由用户后退出时才调用stopService,但即使没有活动或服务正在运行对于我的应用程序,android并没有终止进程,也没有释放用于垃圾收集的Application对象,这导致下次用户启动我的应用程序时,Application的onCreate没有被调用,因为它已经存在,因此服务的生命周期仅由这些活动被绑定到它上面,这就是为什么当所有活动都是无限的时候它被破坏了。
ehhhh Android和他们的怪异设计...
3
的Application.onCreate()
如果应用程序从未运行或已被销毁,以释放内存仅被调用。如果你需要一个长期持续的服务,在你的Activity结束后继续在后台运行,那么你可以考虑运行它作为foreground service,这将使Dalvik尽量不杀它,除非它绝对必须。
相关问题
- 1. 如何在应用程序被破坏时解除绑定服务
- 2. 线程售后服务被破坏
- 3. 破坏后绑定活着
- 4. org.eclipse.gemini.blueprint.service.importer.ServiceProxyDestroyedException:服务代理已被破坏
- 5. 如何防止服务被破坏
- 6. 为什么我的服务被破坏?
- 7. 重定向后PHP会话被破坏?
- 8. Android服务被破坏活动后重新创建
- 9. 服务被破坏后的共享首选项
- 10. WPF命令绑定破坏
- 11. 当android服务被破坏时调用web服务
- 12. epoll服务器不会解除绑定
- 13. 解除绑定服务片段
- 14. CGContextRef被破坏?
- 15. SP.NavigationNode.get_isVisible()被破坏?
- 16. Java 1.6当被后台调用时被破坏Symfony任务
- 17. jQuery如何绑定后解除绑定
- 18. 有关绑定/解除绑定的Android服务问题?
- 19. CoreData NSManagedObject被破坏
- 20. JAVA_HOME被Maven破坏
- 21. 线程被破坏?
- 22. 活动被破坏?
- 23. AJAX.BeginForm PostURL被破坏
- 24. 在活动被破坏后运行Bindservice
- 25. 方法返回后内存被破坏
- 26. 订阅被破坏后退出
- 27. 会话被破坏后引发函数
- 28. Angular 2 - 为什么动态组件的绑定被破坏?
- 29. 访问在活动被破坏后启动已启动服务的活动
- 30. 即使在活动被破坏后,如何使服务保持活跃状态?
你可以发布代码? – Android