"Force Stop"在安卓中到底意味着什么?



我有一个关于Android Life Cycle的问题。我正在开发一个带有Foreground Service(状态栏中的通知)的应用程序。启动服务后,我看到手机中的Application Manager应用程序已启用"强制停止"按钮。然后我通过代码停止服务

stopService(new Intent(getApplicationContext(), ShakeService.class));

我发现,即使在服务停止后(通知也消失了),"强制停止"按钮也是启用的。我确信应用程序中没有其他服务或AsyncTaskHandler。你知道"强制停止"到底是什么意思吗;如何完美地停止服务(使"强制停止"按钮保持禁用状态)??感谢

用户退出的应用程序可能有注册到设备事件的服务和侦听器。即使用户退出应用程序,这些功能也会根据应用程序接收到的事件进行操作。

例如,即使用户退出应用程序,GCM仍然可以工作。

如果用户手动单击了Force Stop,则该特定应用程序将不会运行任何Services/Listeners/Background操作。

如果Clear Cache或用户点击,这将清除应用程序临时存储的数据,而不是像SqLiteRealm这样的数据库。例如存储在SharedPreference 中的数据

只有当内存不足时,Android系统才会强制停止服务,并且必须为以用户为中心的活动恢复系统资源。

  • 如果服务绑定到以用户为中心的活动,那么不太可能被杀死,

  • 如果服务被声明为在前台运行,那么它几乎永远不会被杀死。

  • 如果服务已启动并且是长时间运行的,则系统将随着时间的推移降低其在后台任务列表中的位置。

    更多详细信息请参阅此处

如果手动执行强制停止,则意味着它将终止该应用程序中的所有服务。

最新更新