android 进程防止被杀死

每个公司都想把自己的app时时刻刻运行在用户的手机上面,就算当用户点击清理应用时,也能够不被杀死。这种app有几个典型的,就是微信,QQ,支付宝这类的。
网络上面,很多人提出各种方法:
1.提升应用等级
2.重启应用
3.守护进程
……
实测,没有卵用,守护进程,会在杀死时,同时被杀死。

微信,QQ,这类是怎么实现的,为什么只有这几个特别有名的app才能够实现不被杀死的呢?如果是说是什么特殊的技术,那还有一些不是那么有名,但是也很有名的app,比如酷狗等等这类的,为什么,他们的app也会被杀死,难道这个技术有这么难?
所以,这里我产生个猜测,是不是不是app上面做手脚,而是腾讯,阿里和这些手机公司签订了某个合同,为了提升用户体验,系统而不杀死应用。
为了验证这个问题:
1.查找微信的app ID,在正在运行里面可以找到是:com.tencent.mm
2.创建一个新应用,manifest 设置成这个app ID

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.tencent.mm"
    android:versionCode="1"
    android:versionName="1.0" >

3.创建2个服务,一个是Service1(正常服务),Service2(一个服务器进程,就是所谓的守护进程),里面什么都不做,

<service android:name="com.mt.mtcarptest.Service1"
></service>
<service android:name="com.mt.mtcarptest.Service2"
     android:process=":remote"
></service>

4.在activity里面直接启动这2个服务:

private void startServices(){
    Intent serviceOne = new Intent();  
    serviceOne.setClass(MainActivity.this, Service1.class);  
    startService(serviceOne);  

    Intent serviceTwo = new Intent();  
    serviceTwo.setClass(MainActivity.this, Service2.class);  
    startService(serviceTwo); 
}

5.打开app后,使用小米的一键清理内存,清理完后,会发现,正在运行的进程里面,Service1会被杀死,但是马上能够自动重启,而Service2没有任何反应,也就是说,清理并不会对Service2产生任何影响
6.把app ID设置成一个普通的

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.asdfasdf.asdff"
    android:versionCode="1"
    android:versionName="1.0" >

7.然后再运行,一键清理,会发现,正在运行的进程里面,毛线都不会留下

由此证明:微信,QQ,支付宝这类的app不会被杀死并不是因为代码上面做了什么特殊处理,而是android系统识别到后,估计放水的。

在小米的系统上面,可以在安全中心把自己应用设置成允许自启动,这样也可以做到和微信QQ一样的效果,但是毕竟不是安装好APK就可以的,还需要用户手动去设置,一般来说,用户肯定不会去设置的(肯定是流氓软件)。呵呵

注:是否有别的方法可以真正意义上面解决这种问题?希望能一起讨论,但是就算能解决,也应该认为是一种系统bug吧,google后期升级应该会补上。毕竟这种技术,应该是流氓软件最需要的东西

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值