美文网首页
进程保活

进程保活

作者: xbase | 来源:发表于2016-04-21 17:05 被阅读375次

由于近一段时间,公司在进行手机计步项目的研发工作,涉及到了后台保活的问题(要不然就不能计步了),踩了很多坑,特来总结一下。

首先,这次针对的就是“应用被系统回收”导致后台被清理的问题。

由于Android系统的碎片化问题(已无力吐槽),以及各大厂商的定制化ROM,会在系统中加入一些“后台管理”的功能。尤其以华为和魅族为首的厂商,美其名曰是为了系统的流畅性,关闭屏幕后数分钟就会强制清理后台(真是把小弟玩死了)。像这样的问题,可能就是开发者非常无力的地方了(只能通知用户手动加入白名单了),我也没有办法,谁叫人家都是大厂子呢......

接下来说说我们可以控制的部分:
1. 进程拆分
2. 提高优先级和重启
3. 保证PUSH进程的内存消耗少一点,用PUSH进程拉起其他可能被清理掉的进程。

1.按功能拆分为UI进程、PUSH进程,并通过AIDL保持通信。
2.分为以下几种

  • Android 的前台service机制。但该机制的缺陷是通知栏保留了图标。
    对于 API level < 18 :调用startForeground(ID, new Notification()),发送空的Notification ,图标则不会显示。
    对于 API level >= 18:在需要提优先级的service A启动一个InnerService,两个服务同时startForeground,且绑定同样的 ID。Stop 掉InnerService ,这样通知栏图标即被移除。
  • 将service的onStartCommand方法的返回值设为START_STICKY,可以保证有一定的机率让service重新启动(废柴,没用)。
  • 在service 的onDestory里面重启服务(有点效果,但不能根治,有时候进程挂掉,却不会调用onDestroy方法)

3.及时拉起进程,我们使用过个推,但是个推表示在应用被完全杀死的情况下,除非手机内还有使用个推的应用,否则无法拉起,这个要注意,当然如果你是大神,可以自己编写长连接和推送,就当我什么都没说。

相关文章

  • 第十六周 进程保活

    话题:进程保活 这个问题时常在面试中被问到关键字: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/gzjulttx.html