Android 进程常驻(0)----MarsDaemon使用说明
来源:互联网 发布:java自动生成代码原理 编辑:程序博客网 时间:2024/06/05 02:09
这是一个轻量级的库,配置几行代码,就可以实现在Android上实现进程常驻,也就是在系统强杀下,以及360获取root权限下,clean master获取root权限下都无法杀死进程
支持系统2.3到6.0
支持大部分设备,包括三星,华为,oppo,nexus,魅族等等
可以简单对开机广播进行保护
github地址:
https://github.com/Marswin/MarsDaemon
原理分析:
Android 进程常驻(0)----MarsDaemon使用说明
Android 进程常驻(1)----开篇
Android 进程常驻(2)----细数利用android系统机制的保活手段
Android 进程常驻(3)----native保活5.0以下方案推演过程以及代码详述
Android 进程常驻(4)----native保活5.0以上方案推演过程以及代码详述
Android 进程常驻(5)----开机广播的简单守护以及总结
正文:
Marsdaemon配置需要三步:
1、明确自己需要常驻的进程service,创建一个和他同进程的receiver,然后在另外一个进程中创建一个service和一个receiver,并写在Manifest中。进程名可以自定义
见/MarsDaemon/DemoMarsdaemon/src/main/AndroidManifest.xml
service1是应用中有业务逻辑的需要常驻进程的service,其他三个组件都是额外创建的,里面不要做任何事情,都是空实现就好了
2、用你的Application继承DaemonApplication,然后在回调方法getDaemonConfigurations中返回一个配置,将刚才注册的进程名,service类名,receiver类名传进来。
代码/MarsDaemon/DemoMarsdaemon/src/main/Java/com/marswin89/marsdaemon/demo/MyApplication1
此时如果你想在自己的application里面复写attachBaseContext方法的话,发现他已经被写为final,因为我们需要抢时间,所以必须保证进程进入先加载Marsdaemon,如果你想在attchBaseContext中做一些事情的话,可以复写attachBaseContextByDaemon方法。
如果你的Application已经继承了其他的Application类,那么可以参考Appliation2,在Application的attachBaseContext的时候初始化一个DaemonClient,然后调用他的onAttachBaseContext同样可以实现,当然了,他同样需要一个配置来告诉他我们刚才在menifest中配的信息
代码代码/MarsDaemon/DemoMarsdaemon/src/main/java/com/marswin89/marsdaemon/demo/MyApplication2
3、第三步就是尝试去杀掉进程
- Android 进程常驻(0)----MarsDaemon使用说明
- Android 进程常驻(0)----MarsDaemon使用说明
- Android 进程常驻(0)----MarsDaemon使用说明
- Android 进程常驻(0)----MarsDaemon使用说明
- Android 进程常驻(0)----MarsDaemon使用说明
- [置顶] Android 进程常驻(0)----MarsDaemon使用说明
- Android MarsDaemon实现进程及Service常驻
- MarsDaemon实现安卓APP进程常驻笔记
- Android 进程常驻(1)----开篇
- Android 进程常驻(1)----开篇
- Android 进程常驻(1)----开篇
- Android 进程常驻(1)----开篇
- android进程常驻
- Android Service 双进程常驻后台(2)
- Android Service 双进程常驻后台(2)
- Android Service 双进程常驻后台(2)
- Android 进程保活,Service进程常驻
- 进程常驻
- Intent.resolveActivity
- Andorid中操作数据库的insert的两种方法以及nullColumnHack
- Python学习 Python3.5+PyQt5环境--------03、使用PyInstaller3.2.1把py文件打包成exe文件
- 关于程序的理解_Terry Crowley
- 绘制地图格网时,如何只显示度的数值
- Android 进程常驻(0)----MarsDaemon使用说明
- 【代码笔记】iOS-performSelectorOnMainThread
- 连续子数组的最大和(java版)
- opencv学习笔记-2,图像颜色空间转换
- android 内存泄漏详解
- java中byte转换int时为何与0xff进行与运算
- SpringMVC入门案例
- AES加密速度
- vtk 两点确定一条直线的可视化