首页 > 代码库 > 如何让Android Service不被清除或者常驻内存

如何让Android Service不被清除或者常驻内存

============问题描述============


我需要实现一个功能,Android程序在运行后启动一个service服务,这个service服务是需要一直运行的,正常退出程序后,这个服务还是存在的,正常运行。
但是,如果我用安卓优化大师或者其他工具强制停止后,或者比如魅族的清除当前运行程序后,这个service服务就不再启动了。
有没有一种方法,可以保证这个service一直运行,不被强制杀掉或者能够驻留在内存中,类似于微信和微博或者百度输入法那样,进程不被清除,怎么实现?

============解决方案============

1
可以设置广播注册,
网络启动时 自动启动service
手机启动时自动启动service

如果完全不给其他工具杀掉,禁止杀进程,那恐怕要去写JNI注册到底层系统Service了。不知道可能实现。

============解决方案============

2
一般service被强制杀掉都会重启的貌似

============解决方案============

3
除非你注册成系统服务  在init.r可以实现  当然  这就需要编译真个系统了

你可以设置被杀死后重启服务  这个稍微流氓一点  作为第三方不被杀显然不可能

============解决方案============

4
用电源管理锁定service,应该是可以实现的,但是要处理好释放电源锁的问题,要不然耗电非常厉害

如何让Android Service不被清除或者常驻内存