美文网首页android
Android进程保活方案

Android进程保活方案

作者: Eren丶耶格尔 | 来源:发表于2018-05-08 10:28 被阅读212次

目的

进程保活是各个公司想要实现的一个功能,可以“无赖”地一直霸占你的手机,不被系统和第三方杀掉,以下是几种方案,供大家参考,具体实现还需自己完成。


基本思路

  • 提升进程优先级,防止被杀掉
  • 进程被杀掉之后进行拉活

进程优先级划分

1.前台进程
  • 用户正在交互的Activity
  • 当某个Service绑定正在交互的Activity
  • 被主动调用的前台Service(startForeground)
  • 组件正在执行生命周期的回调(onCreate/onStart/onDestroy)
  • BroadcastReceive正在执行onReceive()
2.可见进程
  • Activity处于onPause状态
3.服务进程
  • 通过startService启动的service
4.后台进程
  • Activity处于onStop状态
5.空进程
  • 不含有任何四大组件的进程

Android 进程回收策略

Android 中对于内存的回收,主要依靠 Lowmemorykiller 来完成,是一种根据 OOM_ADJ 阈值级别触发相应力度的内存回收的机制。

关于 OOM_ADJ 的说明如下:


image.png

其中红色部分代表比较容易被杀死的 Android 进程(OOM_ADJ>=4),绿色部分表示不容易被杀死的 Android 进程,其他表示非 Android 进程(纯 Linux 进程)。在 Lowmemorykiller 回收内存时会根据进程的级别优先杀死 OOM_ADJ 比较大的进程,对于优先级相同的进程则进一步受到进程所占内存和进程存活时间的影响。


进程保活方案

1.提升进程优先级
  • 监听手机的屏幕的解锁和锁屏事件,在手机锁屏时启动1像素的Activity,解锁时结束1像素的Activity
  • 通过startForeground()提升到前台进程
2.双进程守护
  • 开AB两个进程,互相监听,当A进程被杀死,B进程重新启动A进程
3.其他
  • 使用JobScheduler,将任务添加进系统调度队列
  • 将Service中onStartCommand的返回值设置为START_STICKY
  • 利用BroadcastRecelver,监听系统的广播或第三方应用发出的广播
  • 针对性的接入第三方推送,比如小米渠道下接入小米推送,华为渠道下接入华为推送,墙外App接入GCM
  • 利用账号同步机制,系统会定期唤醒账户更新服务
  • 通过各种手段加入手机系统的白名单

总结

现在手机对进程保活的问题做的越来越严格,所以有很多方法并不见效,本人也是不支持做项目的进程保活。试想如果每一个APP项目都进程保活,霸占你的手机内存,手机就会变得炒鸡卡,到头来难受的还是我们用户自己呀。

相关文章

  • 第十六周 进程保活

    话题:进程保活 这个问题时常在面试中被问到关键字:Android 进程保活招式大全 参考答案 1.进程保活方案 -...

  • Android进程保活实践总结

    Android进程保活

  • Android进程保活方案

    目的 进程保活是各个公司想要实现的一个功能,可以“无赖”地一直霸占你的手机,不被系统和第三方杀掉,以下是几种方案,...

  • Android 进程保活方案

    Android 系统为了保持系统运行流畅,在内存吃紧的情况下,会将一些进程 kill ,以释放一部分内存。然而,对...

  • Android进程保活方案

    自己曾经也在这个问题上伤过脑经,前几日刚好有一个北京的哥们在QQ说在做IM类的项目,问我进程保活如何处理比较恰当,...

  • Android进程保活方案

    自己曾经也在这个问题上伤过脑经,前几日刚好有一个北京的哥们在QQ说在做IM类的项目,问我进程保活如何处理比较恰当,...

  • Android进程保活方案

    自己曾经也在这个问题上伤过脑经,前几日刚好有一个北京的哥们在QQ说在做IM类的项目,问我进程保活如何处理比较恰当,...

  • 关于 Android 进程保活

    关于 Android 进程保活 Android进程保活手段主要分3种: 1:利用不同的app进程使用广播来进...

  • 进程保活方案学习

    进程保活方案 进程保活主要有两个方案 提高进程优先级,降低死亡几率 在进程被杀死后进行拉活 进程为什么会死亡 从L...

  • (转自香辣牛肉面)那些年收藏的技术文章(二)-云笔记篇

    Android IM、推送、保活相关 Android进程保活招式大全[http://dev.qq.com/topi...

网友评论

    本文标题:Android进程保活方案

    本文链接:https://www.haomeiwen.com/subject/ozjirftx.html