殺不死的Service

2021-07-09 03:20:29 字數 656 閱讀 1116

專案需要,這兩天研究了一下service

1、onstartcommand()中

return start_stick

2、onstartcommand()中

startforeground()

3、ondestroy()中

startservice()

4、註冊broadcastreceiver

監聽系統廣播(如

time_tick

)onreceive

中判斷service

是不是還在,不在就重新啟動

service

6、雙程序守護,同時開啟兩個程序,兩個程序中循判斷對方是否還在,不在的話立即啟動對方,最理想的是ndk

用c++

實現linux

的父子程序相互依賴

7、啟動乙個floatingwindow

放在螢幕上(如果不想別人看見,就把視窗寬高設定為

1px*1px)

8、ontrimmemmory()中優化記憶體

9、鬧鐘事件迴圈判斷service是否在執行

這些方法在不同版本的系統中表現情況不同,所以需要自己去測試一下。不過我感覺呢,還是ontrimmemmory()

是最需要花時間學習一下的,記憶體優化,這才是最好的解決方法

service不死之身

為了應用常駐後台,避免被第三方殺掉的方法 1 service設定成start sticky kill 後會被重啟 等待5秒左右 重傳intent,保持與重啟前一樣 2 通過startforeground將程序設定為前台程序 3 做前台服務,優先順序和前台應用乙個級別,除非在系統記憶體非常缺,否則此程...

Android 殺不死的程序

首先,正常下,當我們退出程式或手動殺死後,我們的程式就停止執行了。或者不退出在後台執行時,使用360加速球清理時,也會殺死我們的程序。個人理解360加速時,把不被新增信任的程序用乙個for迴圈,在迴圈裡乙個個的kill。於是有了一種思路,在我們應用中開啟兩個程序,當乙個程序被殺死時,另外乙個程序啟動...

Linux中殺不死的程序

前段時間,一哥們,去殺linux伺服器的程序,發現kill命令失靈了,怎麼殺都殺不死。然後上網查了下資料,原來是要被殺的程序,成為了殭屍程序。殭屍程序的檢視方法 利用命令ps,可以看到有標記為z的程序就是殭屍程序。知道了原因,就想怎麼去把這個殭屍程序乾掉。網上說了兩種方法,一種最簡單的方法,重啟伺服...