怎么让 Android 程序一直后台运行,像 QQ 一样不被杀死?

我开发了一个应用,由于需求,需要开启许多service许多线程一直运行(刷一些网站数据,挂得越久刷得越多),用户想要的当然是开启后一直挂在后台不管,但…
关注者
1,933
被浏览
525,358
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

作为一个Android程序狗,来回答一下这问题,首先从性能上讲,告诉题主千万别这么做。。

别做死,

别做死,

别做死,


好,进入正题。

从我目前的研究角度来讲,保活方式可以分黑白灰三种。

白~直接按照系统那样,生成前台service,在notification栏可见到一天bar横在那里,这种是系统提供的合法保活方式。

灰~在白的方式上,利用系统漏洞开启前台service,但是不会在N栏上出现一条bar,这个bug在Android4.3后已经被Google修复。。

黑,最无耻的方式,拉帮结派。例如百度全家桶那样,一人得道,全家开启。。。呵呵哒,我不会告诉你像,微信这样的应用在我的手机见面有二三十条唤醒路径。。其他脉脉,小米,陌陌之类的APP也都不是神马善类,同样几十条唤醒路径。所以,你就可以知道为什么Android机子会慢慢卡成一坨翔,这他妈没root过的手机开个bat系的APP,能把你一大堆APP在后台给你搞活了。。。。。

最后还有一种属于底层一些的,就是利用C Cpp jni fork一个C进程。。但是这种方式也在Android L上被Google封杀。

所以,醒醒吧,QQ 微信没你想的那么神,我把手机root后,直接干掉他们,完全重启不了。