美文网首页
进程保活

进程保活

作者: 刘尔泽 | 来源:发表于2017-10-12 01:30 被阅读14次

Android 进程的 优先级

  • 前台进程
    正在和用户交互 的act,前台运行的service,广播接受者的 onRecive 方法也是属于前台进程
  • 可见进程
    没有任何前台组件,但还是会影响用户屏幕上所见内容
  • 服务进程
    就是service,优先级比较高, 所以经常要注意service
  • 后台进程
  • 空 进程
    就是为了一个平衡,缓冲

Android 进程的回收策略

1 Low memory killer,其实是根据 Linux 的 oom 机制改过来的,oom 的比较复杂的平衡机制,会对进程的优先级进行打分,然后将分数高的进程视为bad 进程,杀死它,并释放内存。

而不同的是,oom 是在内存不足的时候采取检查,而 low memory killer 是 定时去检查

  1. OOM_ODJ 判别进程的优先级。

进程保活方案

利用系统广播拉活

在发生系统事件的时候,系统会发出相应的广播,我们可以注册这个广播监听器,比如 开机啊,文件的卸载啊
不好 知道这个监听

利用系统 Service 机制拉活

service 中有个onstartcommand 方法,把返回值 设为 start stikey,他以为因为内寸不足被系统杀掉后,在内存足的时候,系统会尝试创建这个 service。
第一次 10秒,第二次 20 秒。超过 三次,不再拉活

root 后还是可以直接杀掉的

利用Native 进程拉活

主要用的Linux 中的fork 机制创建一个 native 进程,而这个native 进程去监控主进程的存活,当主进程挂掉之后,由于native 进程活着,可以去拉活。
用的Android 的 ActivityMangerSerive 来管理。
5.0 之后 又被限制了

如何监听呢? 可以轮询 死循环 监听
可以去访问某个主进程文件 的锁,如果获得了锁,说明 主进程挂了。
如何拉活,AM 命令

利用JobScheduler 机制拉活。

上个 5.0 之后 限制了,但是提供了这个,可以想办法

利用账号同步机制拉活

会定期同步账号,利用这个机制,但是 好像也不生效了。

相关文章

  • 第十六周 进程保活

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

  • 进程保活与拉活

    进程相关知识梳理 Activity 1像素保活 前台服务保活 账户同步拉活 JobScheduler 拉活 双进程...

  • 关于进程保活的两三事——新手升级经验卡

    首先,先搁下几个问题,什么是进程保活?为什么要有进程保活?最后才是进程保活要怎么实现??相信大家会迫不及待跳到最后...

  • Android进程保活实践总结

    Android进程保活

  • 深度剖析APP保活案例

    这是作者在去年处理的一个关于进程保活的案例 一. 引言 1.1 保活概述 什么是保活?保活就是在用户主动杀进程,或...

  • 关于 Android 进程保活

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

  • 进程保活方案学习

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

  • 进程保活

    https://www.cnblogs.com/bugly/p/5765334.html

  • 进程保活

    https://mp.weixin.qq.com/s/r3-5Y_e_0fq3_7a8kdGWog

  • 进程保活

    Service service:是一个后台服务,专门用来处理常驻后台的工作的组件。 Service被强的原因: 内...

网友评论

      本文标题:进程保活

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