Android六大類程序介紹

2021-07-13 03:28:47 字數 1717 閱讀 7847

前台程序(foreground):

目前正在螢幕上顯示的程序和一些系統程序。舉例來說,dialer storage,google search等系統程序就是前台程序;再舉例來說,當你執行乙個程式,如瀏覽器,當瀏覽器介面在前台顯示時,瀏覽器屬於前台程序(foreground),但一旦你按home回到主介面,瀏覽器就變成了後台程式(background)。

我們最不希望終止的程序就是前台程序。

可見程序(visible):

可見程序是一些不在前台,但使用者依然可見的程序,舉個例來說:widget、輸入法等,都屬於visible。這部分程序雖然不在前台,但與我們的使用也密切相關,我們也不希望它們被終止(你肯定不希望時鐘、天氣,新聞等widget被終止,那它們將無法同步,你也不希望輸入法被終止,否則你每次輸入時都需要重新啟動輸入法)

次要服務(secondary server):

目前正在執行的一些服務(主要服務,如撥號等,是不可能被程序管理終止的,故這裡只談次要服務),舉例來說:谷歌企業套件,gmail內部儲存,聯絡人內部儲存等。這部分服務雖然屬於次要服務,但很一些系統功能依然息息相關,我們時常需要用到它們,所以也太希望他們被終止

後台程序(hidden):

雖然用了hidden這個詞,但實際即是後台程序(background),就是我們通常意義上理解的啟動後被切換到後台的程序,如瀏覽器,閱讀器等。當程式顯示在螢幕上時,他所執行的程序即為前台程序(foreground),一旦我們按home返回主介面(注意是按home,不是按back),程式就駐留在後台,成為後台程序(background)。後台程序的管理策略有多種:有較為積極的方式,一旦程式到達後台立即終止,這種方式會提高程式的執行速度,但無法加速程式的再次啟動;也有較消極的方式,盡可能多的保留後台程式,雖然可能會影響到單個程式的執行速度,但在再次啟動已啟動的程式時,速度會有所提公升。這裡就需要使用者根據自己的使用習慣找到乙個平衡點

內容**節點(content provider):

沒有程式實體,僅僅提供內容供別的程式去用的,比如日曆**節點,郵件**節點等。在終止程序時,這類程式應該有較高的優先權

空程序(empty):

沒有任何東西在內執行的程序,有些程式,比如bte,在程式退出後,依然會在程序中駐留乙個空程序,這個程序裡沒有任何資料在執行,作用往往是提高該程式下次的啟動速度或者記錄程式的一些歷史資訊。

這部分程序無疑是應該最先終止的。

補充:

系統會對程序的重要性進行評估,並將重要性以「oom_adj」這個數值表示出來,賦予各個程序;(系統會根據「oom_adj」來判斷需要結束哪些程序,一般來說,「oom_adj」的值越大,該程序被系統選中終止的可能就越高)

前台程式的「oom_adj」值為0,這意味著它不會被系統終止,一旦它不可訪問後,會獲得個更高的「oom_adj」,推測「oom_adj」的值是根據軟體在lru列表中的位置所決定的;

android不同於linux,有一套自己獨特的程序管理模組,這個模組有更強的可定製性,可根據「oom_adj」值的範圍來決定程序管理策略,比如可以設定「當記憶體小於x時,結束「oom_adj」大於y的程序」。這給了程序管理指令碼的編寫以更多的選擇。

健腦食物六大類

乙個人能否有良好的記憶,主要是取決於大腦皮層的機能狀態。在飲食中,如果能有意選擇下類食品,對身體,尤其是很有益處的。植物類 多吃大豆和豆類製品。豆類食品物美價廉,營養豐富,容易消化吸收,具有清熱滋陰 調理脾胃的功效。特別是豆類製品含有豐富的蛋白質和多種人體必需的氨基酸,能增強腦血管功能,增加腦細胞活...

ARM的六大類指令集 載入 儲存指令

arm 微處理器支援載入 儲存指令用於在暫存器和儲存器之間傳送資料,載入指令用於將儲存器中的資料傳送到暫存器,儲存指令則完成相反的操作。常用的載入儲存指令如下 ldr 字資料載入指令 ldrb 位元組資料載入指令 ldrh 半字資料載入指令 str 字資料儲存指令 strb 位元組資料儲存指令 st...

Android的六大程序

目前正在螢幕上顯示的程序和一些系統程序。舉例來說,dialer storage,google search等系統程序就是前台程序 再舉例來說,當你執行乙個程式,如瀏覽器,當瀏覽器介面在前台顯示時,瀏覽器屬於前台程序 foreground 但一旦你按home回到主介面,瀏覽器就變成了後台程式 back...