目录

1. 前言   1.1

2. 安卓保活概览   1.2

3. 相关基础知识   1.3

4. 安卓保活技术   1.4

5. 安卓保活代码   1.5

6. 附录   1.6

1. 参考资料   1.6.1

安卓保活技术

- 最新版本： v0.4

- 更新时间： 20240312

简介

整理安卓保活技术相关基础知识，常见的安卓保护技术方案，以及相关代码和实例。

源码+浏览+下载

本书的各种源码、在线浏览地址、多种格式文件下载如下：

HonKit源码

- crifan/android_keep_alive_tech: 安卓保活技术

如何使用此HonKit源码去生成发布为电子书

详见：crifan/honkit_template: demo how to use crifan honkit template and demo

在线浏览

- 安卓保活技术 book.crifan.org

- 安卓保活技术 crifan.github.io

离线下载阅读

- 安卓保活技术 PDF

- 安卓保活技术 ePub

- 安卓保活技术 Mobi

版权和用途说明

此电子书教程的全部内容，如无特别说明，均为本人原创。其中部分内容参考自网络，均已备注了出处。如发现有侵权，请通过邮箱联系我  admin 艾特 crifan.com ，我会尽快删除。谢谢合作。

各种技术类教程，仅作为学习和研究使用。请勿用于任何非法用途。如有非法用途，均与本人无关。

鸣谢

感谢我的老婆陈雪的包容理解和悉心照料，才使得我 crifan 有更多精力去专注技术专研和整理归纳出这些电子书和技术教程，特此鸣谢。

其他

作者的其他电子书

本人 crifan 还写了其他 150+ 本电子书教程，感兴趣可移步至：

crifan/crifan_ebook_readme: Crifan的电子书的使用说明

关于作者

关于作者更多介绍，详见：

关于CrifanLi李茂 – 在路上

crifan.org，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2024-03-13 09:16:51

安卓保活概览

安卓应用，处于某些需要，希望：长期将app在后台运行，这个过程叫做：保活=保证长期存活

而如何实现（安卓app的）保活，有很多技术。

不过安卓保活，对于普通用户来说：

- 少数情况：是我们希望的

- 比如，允许微信、支付宝常驻后台

- 多数情况：不是我们希望的

- 我们不想要：其他各种（加了保活技术的安卓）app始终存在后台，占用资源耗电

crifan.org，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2024-03-12 09:48:10

相关基础知识

TODO：

【整理】安卓系统进程优先级和oom_adj、oom_score_adj

名词术语

- 名词术语

- LMK = Low Memory Killer

- FC = Force Close

- FC对话框  =  FC dialog =  FC popup

- ANR = Application Not Responding = 程序无响应

保活相关基础知识

- 保活相关基础知识

- 进程被杀的场景

- 正常=自然的情况

- 被LMK杀死

- oom_adj

- oom_score_adj

- 成为空进程，缓存进程后被杀

- 用户主动

- 最近任务 -> 一键清理

- 最近任务 -> 上滑

- 使用Setting -> forceStop

- 第三方应用杀进程（如猎豹，360等）

- 特殊情况 = （应用出现异常）被系统杀死

- 出现FC或者ANR

crifan.org，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2024-03-12 09:49:32

安卓保活技术

TODO：

【整理】安卓保活技术基础知识

思路和目的

- 安卓保活技术 思路和目的

- 保活

- 降低被杀可能

- 提升进程优先级== 降低adj值

- 微信和支付宝：实现了adj值为负数或0 == 创建系统级别的进程

- 应该是底层native实现的某种黑科技，需要逆向才有机会搞懂

- 一种可能：利用了系统漏洞来保活

- 复活

- 被杀后重启服务=重新拉起服务

安卓保活技术/手段/方案

- 安卓保活技术/手段/方案

- 需要用户参与=需要引导用户操作

- 【整理】安卓保活技术：引导用户开启手机白名单

- 【整理】安卓保活技术：申请加入电池优化白名单

- 保活

- 防止被杀

- 防止用户主动杀

- 【整理】安卓保活技术：多任务列表窗口加锁

- 【整理】安卓保活技术：多任务列表窗口隐藏App

- 提升进程优先级

- UI页面

- 【整理】安卓保活技术：一像素

- Service

- 【整理】安卓保活技术：前台Service的导航

- 【整理】安卓保活技术：后台无声音频

- 【整理】安卓保活技术：无通知的前台服务

- 【整理】安卓保活技术：START_STICKY和START_REDELIVER_INTENT

- 属性

- 【整理】安卓保活技术：属性persistent

- 提高活跃度？间隔性唤醒 ？

- 【整理】安卓保活技术：账户同步

- 【整理】安卓保活技术：应用自启动权限

- 【整理】安卓保活技术：监听系统事件广播

- 【整理】安卓保活技术：监听系统事件广播之ACTION_TIME_TICK

- 【整理】安卓保活技术：监听第三方静态广播

- 【整理】安卓保活技术：WakeLock

- 【整理】安卓保活技术：心跳机制

- 【整理】安卓保活技术：socket长连接监控被杀重启主进程

- 其他

- 【整理】安卓保活技术：Instrumentation

- 【整理】安卓保活技术：弹出悬浮窗

- 【整理】安卓保活技术：无障碍服务

- 【整理】安卓保活技术：WorkManager

- 复活=被杀后重启服务

- 【整理】安卓保活技术：双进程守护

- 【整理】安卓保活技术：JobScheduler定时任务

- 【整理】安卓保活技术：AlarmManager

- 【整理】安卓保活技术：WorkManager

- 【整理】安卓保活技术：多个app关联唤醒

- 【整理】安卓保活技术：第三方服务SDK

- 【整理】安卓保活技术：Service的onDestroy和onTaskRemoved

- 【整理】安卓保活技术：进程Service/Provider互绑

- 【整理】安卓保活技术：AIDL矩阵互保

- 【整理】安卓保活技术：SIGCHLD信号和用am startservice重启被杀掉的进程

- 【整理】安卓保活技术：腾讯TIM的进程永生技术

- 【整理】安卓保活技术：setsid和用am startservice重启被杀掉的进程

crifan.org，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2024-03-12 09:51:15

安卓保活代码

crifan/KeepAliveAndroid

- Github

- https://github.com/crifan/KeepAliveAndroid

crifan.org，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2024-03-12 09:58:46

附录

下面列出相关参考资料。

crifan.org，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2024-03-12 09:34:47

参考资料

crifan.org，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2024-03-12 09:34:29

Table of Contents

前言

安卓保活概览

相关基础知识

安卓保活技术

安卓保活代码

附录

参考资料