Android中的程序保活

2021-08-28 22:38:32 字數 789 閱讀 7476

最近在看aidl相關的知識,無意間看到一篇程序保活的文章,正好涉及到了程序相關的內容。順便學習一下。

一、什麼是程序保活

程序保活可以理解為讓乙個程序最大程度不被殺死,或者殺死後第一時間復活。

二、程序的劃分

1、活動程序

優先順序最高,使用者正在操作的程式,是前台程序,並且可操作。

2、可見程序

次高優先順序,使用者看得見,但是不能直接操作。

3、服務程序

第三優先順序,沒有介面,一直執行在後台,優先順序不高。當系統記憶體不足時會被殺死,當記憶體再次充裕時會再次開啟。

4、後台程序

低優先順序,使用者按下home鍵或者back鍵後,程式本身看不到,但是其實還是執行的程式。如activity按下onpause方法,系統可能隨時終止它們,**記憶體。

5、空程序

優先順序最低,某個程序不包含任何活躍的元件,該程序就會被置為空程序,完全沒用,系統會第一時間**。

三、程序保活的方法

1、開啟乙個畫素activity

在手機螢幕關閉的時候,開啟乙個畫素activity,保證程序活躍。

2、前台服務

3、相互喚醒

4、jobscheduler

5、粘性服務與系統**服務

四、程序保活策略

程序保活包括兩個層面,乙個是提高程序優先順序,降低被殺死的概率。乙個是在程序被殺死後,立即拉活。

五、android程序**策略

android對於記憶體的**,主要依靠lowmemorykiller來完成,是一種根據oom_adj閾值級別觸發的記憶體**機制。

Android程序保活

2個方法 1.不讓殺 2.殺了復活 程序優先順序 1.前台程序 resume 2.可見程序 pause 4.後台程序 5.空程序 不被殺提公升優先順序1.前台服務 啟用2個前台服務,消除通知 變成可見程序 2.廣播監聽鎖屏解鎖,啟動1畫素活動 儘量減少記憶體占用,在相同oom adj的情況下,也更加...

Android程序保活

對於程式被殺死,一般我們能做到兩個方面優化 保證程序的優先順序 當程序被殺死之後的喚醒 程序的優先順序 程序根據優先順序區分可以分為 前台程序 可見程序 服務程序 後台程序 空程序 程序中有個較為具體的值oom adj,其數值越小對應的優先順序越高 紅色部分是易於被 的 4 16 綠色部分是不易被 ...

Android中的程序保活(不死程序)

android中的程序保活方式主要分為以下三種 白色保活 啟動前台service 灰色保活 利用系統的漏洞啟動前台service 黑色保活 白色保活灰色保活 這種保活手段是應用範圍最廣泛。它是利用系統的漏洞來啟動乙個前台的service程序,與普通的啟動方式區別在於,它不會在系統通知欄處出現乙個no...