MarsDaemon:实现Android进程常驻的库
需积分: 50 80 浏览量
更新于2024-08-09
收藏 5.69MB PDF 举报
"《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系统机制和原生代码,提供了一种有效的方法来防止进程被系统或第三方工具清理,从而保证了服务的持续运行。对于那些需要后台服务持续运行的应用,如音乐播放器、即时通讯软件等,这种技术尤其有价值。然而,这种做法也可能引发电池消耗和系统资源占用的问题,因此在实际应用时需要权衡用户体验和后台服务的必要性。
364 浏览量
2015-08-07 上传
2008-11-28 上传
2012-11-11 上传
2022-09-20 上传
149 浏览量
548 浏览量
2007-11-11 上传
211 浏览量

集成电路科普者
- 粉丝: 44
最新资源
- 网上银行电子支付:安全漏洞与防范策略剖析
- C++中sizeof运算符的详细解析
- C++ sizeof详解:变量存储大小与类型计算
- JDBC全解析:MySQL, MSSQL, Oracle连接详解
- IBM WebSphere MQ与C#交互指南
- Cognos BI产品:企业决策分析的全能解决方案
- Shell脚本与正则表达式大全
- Rave Reports Borland 5.0开发者指南:入门与组件详解
- Wicket开发全面指南
- JSP实现动态彩色验证码生成与刷新源代码
- J2EE开发技术手册:平台搭建与规范
- Struts快速入门与安装教程:MVC架构详解
- Debian维护人员完全指南
- 构建企业WWW服务器:从基础到高级配置
- Windows Internet Name Service (WINS) 服务器的配置与作用
- 企业DHCP服务器配置与应用详解