Android MarsDaemon實現程式及Service常駐
前段時間,就討論過關於如何讓Service常駐於記憶體而不被殺死,最後的結論就是使用JNI實現守護程式,但是不得不說的是,在沒有修改系統原始碼的情況下,想真正實現殺不死服務,是一件很難的事情,目前除了白名單的方式,也好像沒有發現有一款APP能做到不管怎麼搞它都能自動重啟...
最近在GitHub上發現了一個比較有意思的輕量級庫:MarsDaemon,進行一些簡單的配置,就可以實現在android上實現程式常駐,在系統強殺下或360安全衛士等軟體下,都無法真正殺死程式。當然了,在華為的pad上試了一下,手動在程式管理裡面停止應用,並未自動重啟,但是通過一些安全衛士的軟體kill掉程式之後,還是可以自動重啟的。先不說這個能不能真正的實現殺不死服務,能做到這一步就已經適用於大部分的APP的需求了,所以還是值得一看的,有興趣的童鞋還可以去研究一下底層實現過程~
先來回顧一下之前關於如何使用JNI實現守護程式:http://blog.csdn.net/yyh352091626/article/details/50542554
其實核心思路差不多,就是守護程式。該庫支援的Android系統為2.3~6.0,幾乎適用所有的Android手機了,包括三星、華為、魅族、小米、聯想等。
MarsDaemon庫Demo下載地址:http://download.csdn.net/detail/yyh352091626/9468312
具體實現步驟如下:
一、在Manifest中配置Service,並建立一個和他同程式的receiver,然後在另外一個程式中建立一個Service和一個Receiver。程式1就是需要常駐的程式,程式2放空就行。
二、讓我們自己的Application繼承DaemonApplication,並重寫getDaemonConfigurations進行相關配置。
三、如果不想繼承DaemonApplication而直接繼承系統的Application或自定義Application的話的話,在onCreate裡面進行初始化。如下:
四、利用安全衛士等清理軟體Kill掉程式,發現程式自動重啟。
相關文章
- Android 雙程式Service常駐後臺,無懼“一鍵清理”Android
- Android常駐通知欄Android
- [Android]程式碼實現ColorStateList及StateListDrawableAndroid
- Android 熱更新實現原理及程式碼分析Android
- PHP 多程式與訊號中斷實現多工常駐記憶體管理【Master/Worker 模型】PHP記憶體AST模型
- 常見排序演算法原理及JS程式碼實現排序演算法JS
- Android中通過Messenger與Service實現程式間雙向通訊AndroidMessenger
- iOS:常駐執行緒iOS執行緒
- RunLoop常駐執行緒OOP執行緒
- iOS探索:RunLoop本質、資料結構以及常駐執行緒實現iOSOOP資料結構執行緒
- Android圖片壓縮實現過程及程式碼Android
- 常見排序原理及 python 實現排序Python
- 短視訊帶貨原始碼,android 自定義常駐通知欄原始碼Android
- android native service編寫及兩個服務程式通訊Android
- Service異常:Service Intent must be explicitIntent
- Android黑白棋遊戲實現過程及程式碼解析Android遊戲
- Android 最流行的吸頂效果的實現及程式碼Android
- Android基礎及應用 Service的使用Android
- Android中Service的啟動方式及Activity與Service的通訊方式Android
- android 自定義ScrollView實現背景圖片伸縮的實現程式碼及思路AndroidView
- php常駐程式記憶體洩露的簡單解決PHP記憶體洩露
- Android沉浸式UI實現及原理AndroidUI
- Android 沉浸式 UI 實現及原理AndroidUI
- Android中bindService的使用及Service生命週期Android
- Android中startService的使用及Service生命週期Android
- Android探索之Service全面回顧及總結Android
- Android Service重啟恢復(Service程式重啟)原理解析Android
- Android ServiceAndroid
- Android 程式間通訊 Service、MessengerAndroidMessenger
- DES原理及程式碼實現
- Android Service 服務(一)—— ServiceAndroid
- 外掛化知識梳理(10) Service 外掛化實現及原理
- iOS底層原理 - 常駐執行緒iOS執行緒
- Android Lint 實踐 —— 簡介及常見問題分析Android
- 棧的模擬實現及常見演算法演算法
- 瀑布流程式碼實現及思路
- CNN介紹及程式碼實現CNN
- BiLSTM介紹及程式碼實現