MarsDaemon:实现Android进程常驻的库
"《Unix编程环境》是一本关于Unix操作系统的重要著作,主要讨论了Unix系统的使用和编程。该书英文原版清晰,提供了深入理解Unix系统的机会。在后续的内容中,我们将探讨一个针对Android平台的进程常驻策略,即如何使进程在各种清理工具甚至系统强杀下依然能够存活。这个策略涉及到的技术被称为‘杀不死的进程’。" 在Android开发中,确保应用程序进程常驻是一项挑战,特别是在面临系统优化和第三方清理应用的压力下。文章提到了一个名为MarsDaemon的开源库,它提供了一种轻量级的方法来实现进程常驻。MarsDaemon支持Android 2.3到6.0版本,兼容多种设备,包括三星、华为、OPPO、Nexus和魅族等。其核心目标是在系统层面和第三方清理工具的清理操作下保持应用服务的运行。 MarsDaemon的实现分为五个步骤,分别详细介绍了不同层次的保活手段: 1. Android进程常驻(0)----MarsDaemon使用说明:这部分介绍如何配置MarsDaemon,包括创建与需要常驻服务在同一进程的receiver,以及在另一个进程中创建service和receiver,并在AndroidManifest.xml中注册它们。 2. Android进程常驻(1)----开篇:可能涵盖进程常驻的基本概念和为什么需要这样的技术。 3. Android进程常驻(2)----细数利用android系统机制的保活手段:讨论了利用Android系统特性来防止进程被杀死的各种方法。 4. Android进程常驻(3)----native保活5.0以下方案推演过程以及代码详述:详细讲解了在Android 5.0及以下版本中,通过原生代码实现进程保活的策略。 5. Android进程常驻(4)----native保活5.0以上方案推演过程以及代码详述:针对Android 5.0及以上版本,由于系统机制的变化,可能需要采用不同的原生代码策略来保持进程活性。 6. Android进程常驻(5)----开机广播的简单守护以及总结:这部分可能涉及如何保护开机广播不被系统或第三方应用拦截,以及整个进程常驻策略的总结。 在MarsDaemon的配置中,开发者需要继承`DaemonApplication`,并在`getDaemonConfigurations`方法中返回必要的配置信息,如进程名、服务类名和接收器类名。需要注意的是,由于需要抢占进程启动的时机,`attachBaseContext`方法被标记为final,如果需要在此方法中添加自定义逻辑,可以重写`attachBaseContextByDaem`方法。 这个策略通过巧妙地利用Android系统机制和原生代码,提供了一种有效的方法来防止进程被系统或第三方工具清理,从而保证了服务的持续运行。对于那些需要后台服务持续运行的应用,如音乐播放器、即时通讯软件等,这种技术尤其有价值。然而,这种做法也可能引发电池消耗和系统资源占用的问题,因此在实际应用时需要权衡用户体验和后台服务的必要性。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/de0fdaaed56d4da88131a111be149d19_weixin_26775679.jpg!1)
- 粉丝: 44
- 资源: 3945
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)