在Andorid日常开发中有时候我们需要保证APP能够一直后台运行,如何能够做到呢?
保活这块官方一直在收紧,8.0之后应该没有很好的漏洞方案了。
保活本身就不高尚,如果是Push可以接入厂商pushSDK或者利用微信公众号。如果是后台任务可以利用JobScheduler
现在已经没有所有手机上都行之有效的方案了,只能尽可能提高覆盖率。
技术上的方案有多进程互拉、前台服务、隐藏悬浮窗等。
商务上是跟几大手机厂商协商,加入白名单,接入他们的push服务等。
1,保活SDK接入
2,挖掘厂商保活代码,逐个突破
3,注册通知栏等前台服务
4,音乐播放服务
5,输入法服务
6,桌面动态壁纸服务
7,引导用户加入免杀白名单
Low Memory Killer的原理
http://www.cnblogs.com/angeldevil/archive/2013/05/21/3090872.html
1.单/双守护进程保活
http://blog.csdn.net/andrexpert/article/details/53485360
核心:通过两个进程互相拉起
缺点:5.0以上没有用,杀掉的是一整个进程组
2.native保活
http://blog.csdn.net/marswin89/article/details/50899838
https://github.com/Coolerfall/Android-AppDaemon
核心:native(其实我并不是很懂,但5.0+无效)
3.前台Service+1像素通知+后台静默播放音乐
http://blog.csdn.net/andrexpert/article/details/75045678
核心:降低oom_adj值降低被LMK干掉的几率
亲测5.0+一键清理杀不掉,厂商杀被ko
JobScheduler+第三方推送(复活)
http://blog.csdn.net/andrexpert/article/details/75174586
核心:通过某种方式唤醒
JobScheduler运行原理/机制解析
http://blog.csdn.net/zhangyongfeiyong/article/details/52130413
bugly出品Android进程保活招式大全
http://dev.qq.com/topic/57ac4a0ea374c75371c08ce8
另外一个保活综述
http://www.jianshu.com/p/63aafe3c12af
那些年Android黑科技①:只要活着,就有希望
https://www.jianshu.com/p/cb2deed0f2d8
Android Notification 补充 - NotificationListenerService
https://www.jianshu.com/p/4c50078127b3
Android之使用NotificationListenerService使得自己的应用不被杀及其源码分析
http://blog.csdn.net/zhangyongfeiyong/article/details/52279742
论Android应用进程长存的可行性
http://blog.csdn.net/aigestudio/article/details/51348408
NotificationListenerService的那些事儿
https://www.jianshu.com/p/981e7de2c7be
Android进程保活的一般套路
https://www.jianshu.com/p/1da4541b70ad
良心推荐分享两个个github的方案
详细的介绍了以上套路
https://github.com/xingda920813/HelloDaemon
Android进程保活实践
https://mp.weixin.qq.com/s/6w0tMtDA9kPwo0E9xq_BsA
作者:普通的程序员
链接:https://www.jianshu.com/p/b51e2dbf2311
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
除了白名单这种人为干预因素外,Android 可以通过以下手段来提升app的后台存活率:
没有一直有效的方案;不管是Android系统还是手机厂商,都会限制应用在后台运行。
技术上网上有不少方法,但这个能做到一方面,大公司都是通过跟手机厂商进行协商,加入白名单才能更好的保活。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。