文章目录

  • 一、 应用进程拉活简介
  • 二、 广播拉活
  • 三、 显示广播与隐式广播
  • 四、 全家桶拉活

一、 应用进程拉活简介


之前的博客讲解的都是避免应用程序被杀死 , 提高应用进程的优先级 ;

现在开始讲解进程拉活 , 进程被杀死以后 , 如何进行拉活 ;

只要进行进程拉活 , 都会或多或少占用系统的资源 , 尤其是内存资源 , 因此 Android 官方对这种操作进行了各种限制 , 从 Android 7.0 开始限制 , 到 Android 8.0 之后 , 基本无法进行应用拉活操作 ;

对应用进程拉活 , 不能保证 100%100\%100% 成功率 , 即使拉活成功 , 拉活方案也是有很多缺陷 ,

二、 广播拉活


监听系统的广播事件 , 系统在发生特定事件时 , 发出对应事件广播 ;

在 AndroidManifest.xml 中 静态注册 的广播接收者可以接受系统发出的广播 , 监听这些广播 , 然后由系统自动拉活广播接收者所在的应用进程 ;

如果很多应用静态注册接收系统广播 , 每次系统发出广播时 , 就会激活很多应用 , 此时会消耗大量资源 , 从而让手机变得很卡 , 用户体验变差 ;

Android 7.0 ( API Level 24 ) 开始对广播进行了限制 ;

Android 8.0 ( API Level 26 ) 限制更严格 , 基本就禁止了这种做法 ; 在该版本及以后的版本中无法在 AndroidManifest.xml 清单文件中注册接收隐式广播的广播接收者 ; ( 有几种特例 )

Android 8.0 ( API Level 26 ) 后仅有少数几个隐式广播 , 可以在AndroidManifest.xml 清单文件中注册接收到的 , 如 ACTION_LOCKED_BOOT_COMPLETED、ACTION_BOOT_COMPLETED 开机广播 , ACTION_USER_INITIALIZE 用户账户添加广播 , ACTION_LOCALE_CHANGED 时间区域改变广播 等 , 详细细节参考 https://developer.android.google.cn/guide/components/broadcast-exceptions.html 文档 ;

这些隐式广播发出来的情况很特殊 , 有可能一天也发不出一条广播 , 用于拉活应用进程不太合适 ;

参考文档 :

  • Android 官方文档 - Oreo 版本适配 : 后台执行限制
  • Android 官方文档 - Intent 和 Intent 过滤器

三、 显示广播与隐式广播


Intent 类型 :

  • 显示 Intent : Intent 中提供了软件包名 或 组件的全类名 ; 如 设置 组件 Class 对象 ;
  • 隐式 Intent : 没有指定特定的组件 , 允许其它应用组件处理该意图 ; 如 设置 action 字符串 ;

参考文档 : https://developer.android.google.cn/guide/components/intents-filters

显示广播 与 隐式广播 :

  • 显示广播 : 指明了目标组件名称 , 常用于应用内的广播发送接收 ;

  • 隐式广播 : 没有指明组件名称 , 绝大部分的广播都是隐式广播 , 很少有发送广播的时候把广播接收者的组件名称带上的 , 系统广播都是隐式广播 ;

参考文档 :

  • Android 官方文档 - Oreo 版本适配 : 后台执行限制
  • Android 官方文档 - Intent 和 Intent 过滤器

四、 全家桶拉活


全家桶拉活 : 多个应用之间使用显示广播互相拉活 ;

【Android 进程保活】应用进程拉活 ( 应用进程拉活简介 | 广播拉活 | 显示广播与隐式广播 | 全家桶拉活 )相关推荐

  1. 【Android 进程保活】应用进程拉活 ( 双进程守护 + JobScheduler 保活 | 成功率最高 | 推荐使用 )

    文章目录 一. 双进程守护保活 + JobScheduler 原理 二. 双进程守护保活 + JobScheduler 源码 1.JobService 代码 2.判定服务运行工具类 3.清单文件 4. ...

  2. 【Android 进程保活】应用进程拉活 ( 账户同步拉活 | 账号添加 | 源码资源 )

    文章目录 一. 账号添加 二. 代码示例 1. 账号添加工具类 2. 权限注册 3. 在 Activity 中调用上述工具类 4. 运行效果 三. 源码资源 一. 账号添加 在上一篇博客 [Andro ...

  3. 【Android 进程保活】应用进程拉活 ( 双进程守护保活 )

    文章目录 一. 双进程守护保活原理 二. 双进程守护保活完整源码 1.AIDL 接口 2.本地前台服务 Service 3.远程前台服务 Service 4.清单配置 5.启动两个服务 5.执行效果 ...

  4. Android进程保活拉活

    参考:腾讯视频相关视频公开课 学习资料: 探讨Android6.0及以上系统APP常驻内存(保活)实现-争宠篇 目录 一.进程的一些基本常识 二.如何保活 三.如何拉活 四.总结 一.进程的一些基本常 ...

  5. 【Android 进程保活】提升进程优先级 ( 使用前台 Service 提高应用进程优先级 | 启动相同 id 的第二个前台 Service 关闭通知 )

    文章目录 一. 前台 Service 通知问题 二. 设置 startForeground id 参数为 0 三. 启动相同 id 的第二个前台 Service 关闭通知 1. 前台服务 1 2. 关 ...

  6. 【Android 进程保活】提升进程优先级 ( 使用前台 Service 提高应用进程优先级 | 效果展示 | 源码资源 )

    文章目录 一. 使用前台 Service 提高应用进程优先级 1. 前台 Service 代码 2. 前台 Service 代码 3. 启动服务 二.效果展示 三.源码资源 一. 使用前台 Servi ...

  7. Android进程保活(黑白手段让APP活下去)

    凡是做过几年Android开发的,都不能不面对进程保活这一问题.特别是这两年,面对谷歌,国内定制ROM,安全软件等多方围剿的情况下,app在后台保活的难度越来越大,可以说包括QQ.微信在内的所有app ...

  8. Android 系统(265)----Android进程保活全攻略(上)

    Android进程保活全攻略(上) 对于每个公司的APP来说,当然都希望自己APP的进程尽量的不被杀死,于是乎,就有了一些列进程保活的方法出现,网上也有很多关于这类的文章,但网上很多资料往往只告诉了思 ...

  9. Android 系统(146)----Android进程保活招数概览

    Android进程保活招数概览 Android中的进程保活应该分为两个方面: 提高进程的优先级,减少被系统杀死的可能性 在进程已经被杀死的情况下,通过一些手段来重新启动应用进程 本文针对这两方面来进程 ...

  10. Android进程保活的一般套路

    自己曾经也在这个问题上伤过脑经,前几日刚好有一个北京的哥们在QQ说在做IM类的项目,问我进程保活如何处理比较恰当,决定去总结一下,网上搜索一下进程常驻的方案好多好多,但是很多的方案都是不靠谱的或者不是 ...

最新文章

  1. Oculus为VR视频发明了新时间单位「flick」
  2. 天天沉迷于皇上本宫的都是sb
  3. matlab builder for java下载,Matlab Builder JA - Compile Matlab into a Java jar - Free Version?
  4. lintcode 单词接龙II
  5. Linux虚拟化KVM-Qemu分析(十一)之virtqueue
  6. Java Applet Reflection Type Confusion Remote Code Execution
  7. centos7中使用LVM管理磁盘和挂载磁盘
  8. JQuery 技巧大方送
  9. pq分解法中b’怎么求_1.初中数学:含参数不等式组,有两个负整数解,怎么求a的取值范围?...
  10. uniapp 微信内置浏览器h5打开app
  11. 如何用计算机克数和斤换算,克换算斤计算器(克转两计算器)
  12. IDEA Maven遇到的问题 wating for maven import completionomitted for duplicate jar
  13. 【陈工笔记】# 如何用WPS演示给PPT加水印 #
  14. 深度学习AI美颜系列---图像自动亮度对比度与调色
  15. 不得转载可以转发吗_微信公众号可以复制转载别人的文章吗?如何转发其他公众号文章?...
  16. NRF52832学习笔记(23)——GAP主机端连接
  17. linux常用命令2
  18. 【把视频逐帧转换成图片】
  19. 每日新闻丨Facebook再曝数据泄露事故;国内首台晶圆自动翻转倒片机成功研发...
  20. CF刷题——2500难度的几道题

热门文章

  1. AutoSar FlashDriver
  2. LoadBalancer 负载均衡
  3. foxmail 163企业邮箱配置
  4. BH1750 传感器实战教学 —— 硬件设计篇
  5. 【论文阅读】Reviving Iterative Training with Mask Guidance for Interactive Segmentation
  6. librtmp推流到YouTube失败
  7. 【重识云原生】第六章容器基础6.4.10.4节——StatefulSet实操案例-使用 StatefulSet 部署Cassandra
  8. ucore开启虚拟存储器过程详解
  9. 对日外包总结-泛泛而谈
  10. Win7 C盘瘦身 微信文件夹太大WeChat Files