【Android】Kill Service

时间:2022-12-15 22:18:12

花了一天时间对如何Android保证Service不被杀死研究了一下,我的手机是Nexus5,系统4.4.2。

杀死一个Service通常有以下几种可能:

1)APP自己杀死(包括调用stopService等方法),以及因为使用bindService后context自己onDestory();

2)第三方软件,比如360手机卫士,腾讯手机管家,猎豹清理大师等;

3)在“设置”——>"应用"——>“正在运行”,找到应用后点击进去,停止Service;

4)“设置”中force close(即强行停止);

除去1)的情况,测试结果如下:

a)第三方软件最多可以杀死APP进程,是不能杀死Service的;

b)当APP进程没有被杀死的时候,是可以通过很多手段在执行3)的方法的时候将Service重启起来的,比如在Service的onDestory方法中调用startService方法;

c)但是当第三方软件杀死APP进程之后,使用的方法都会无效,因为Service的onDestory不会被调用,这种情况下有些应用是很顽强的,能在一定的时间内自动再启起来(一种方法就是使用AlarmManager);

d)force close乃是大杀器,force close之后的APP,不管是支付宝还是微信,都不会再自动启动起来了,Service和APP全部关闭;