您的位置:首页 > 移动开发 > Android开发

这两天做的一些研究--Android4.x怎么做到不被杀死的Service

2014-11-05 22:25 253 查看
由于特殊的业务需求,最好能做一个能不被进程管理工具杀掉的应用,我用的测试手机是红米,面对强大的MIUI进程管理器,试过了网上的种种方式,照杀无误,至今都失败了,他们杀进程根本不会走service的onDestory()方法,只能诚服,要想不被kill掉只能把该应用添加到MIUI进程管理器的免杀列表中,但是面对360清理大师,一个字  杀!

在这位仁兄的博客http://blog.csdn.net/mad1989/article/details/22492519里面的方法我几乎都试了,跟大多网上提供的解决方案基本一样,其中有一种方式是利用adb
shell把应用添加到System/app下,我在模拟器上试了是可以,应用确实变成系统应用了,但是能不能被MIUI和360杀掉我觉得还是能的 ,我没有在我的红米手机上测试这个(我才不用我手机不干这事呢)不能确信,因为MIUI和360也能杀掉一些红米里面的很多系统应用的进程,所以就算我们把自己开发的应用加到系统应用中最终应该还是被杀掉的。
最好我觉得有可能的方式可能就是起两个服务,相互监视对方,一方被杀立即重启,两服务相互守护。但是面对强大的MIUI和360这种方式我也是很怀疑的。在我的测试中我发现搜狗输入法不管是MIUI还是360都杀不死他,可能真如网友所言,某些进程是在MIUI和360的免杀进程白名单中的,例如微信、QQ等就在MIUI的免杀白名单中,感觉这样的解释很合理啊,究竟是不是如此我不知道确切。
另外还测试了广播接收者也是如此,比如我静态注册的短信广播接收者,应用安装之后或者打开这个应用之后,这个广播接收者能进行拦截(红米手机要在短信设置中允许第三方应用拦截短息),但是使用了MIUI进程管理器清理内存之后,这个广播接收者就不能使用了,被清理掉了,除非手动把该应用添加到MIUI进程管理器的免杀列表中。
这两天累死了,如果哪位仁兄遇到相应需求并解决了问题,望能赐教!!拜谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android