我有一个带有服务的应用程序(onStartCommand返回START_STICKY)。一切正常,应用程序和服务重新启动,如果我刷掉应用程序或重新启动设备。这很有效。
但: 该应用程序不时重新启动(有时在几分钟后,有时在一小时后)。这意味着,应用程序被杀死并重新启动。但我不知道为什么。
也许您可以给我一个通常的提示或方向来搜索错误。
由于 汉斯
答案 0 :(得分:1)
一般情况下,您永远不能假设您的服务不会被杀死。
您只需设计应用程序即可恢复您的进程,其状态将被操作系统杀死。
操作系统可以在您认为没有必要将其保留在后台时终止您的应用。您的国旗BasicDataSource
会将您的服务恢复到后台,但此标记并不意味着它将永久运行而不会被终止。
因此,请确保使用START_STICKY
来保留您的重要状态或数据,甚至onSaveInstanceState()
将数据保存在本地存储中,以防您的应用无法保存状态。
此链接可能会对您有所帮助:Android - Lifecycle and saving an Instance State questions