实际上是什么"强制停止" Android中意味着什么?

时间:2016-05-02 06:44:26

标签: android service

我有一个与self.canvas.delete(self.ref_id) 有关的问题。 我正在处理一个Android Life Cycle的应用(状态栏中的通知)。启动该服务后,我在手机中看到Foreground Service该应用已经“#34;强制停止"按钮已启用。然后我通过代码停止服务

Application Manager

我发现即使服务停止后(通知也消失了),"强制停止"按钮已启用。我确定应用中没有其他服务或stopService(new Intent(getApplicationContext(), ShakeService.class)); AsyncTask。  你有什么想法究竟是什么"强制停止"平均值如何完美地停止服务(因此强制停止按钮保持禁用状态)? 感谢

2 个答案:

答案 0 :(得分:0)

Android系统将仅在内存不足时强制停止服务,并且必须为具有用户焦点的活动恢复系统资源。

  • 如果服务绑定到具有用户焦点的活动,那么它就是 不太可能被杀死,

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

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

    more details refer Here

如果您手动执行强制停止意味着它已杀死该应用程序中的所有服务。

答案 1 :(得分:0)

用户退出的应用程序可能会在设备事件中注册服务和侦听器。即使用户退出应用程序,这些也将根据应用程序收到的事件工作。

例如,即使用户退出应用程序,GCM仍然有效。

如果用户手动点击了Force Stop,那么任何Services / Listeners / Background操作都不会针对该特定应用运行。

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

中的数据