Android程序優先順序

2021-09-11 18:09:12 字數 985 閱讀 1433

在安卓系統中:當系統記憶體不足時,android系統將根據程序的優先順序選擇殺死一些不太重要的程序,優先順序低的先殺死。

程序優先順序從高到低如下

前台程序

處於正在與使用者互動的activity

與前台activity繫結的service

呼叫了startforeground()方法的service

正在執行oncreate(),onstart(),ondestroy方法的 service。

程序中包含正在執行onreceive()方法的broadcastreceiver。

系統中的前台程序並不會很多,而且一般前台程序都不會因為記憶體不足被殺死。特殊情況除外。當記憶體低到無法保證所有的前台程序同時執行時,才會選擇殺死某個程序。

可視程序

為處於前台,但仍然可見的activity(例如:呼叫了onpause()而還沒呼叫onstop()的activity)。典型情況是:執行activity時,彈出對話方塊(dialog等),此時的activity雖然不是前台activity,但是仍然可見。

可見activity繫結的service。(處於上訴情況下的activity所繫結的service)

可視程序一般也不會被系統殺死,除非為了保證前台程序的執行不得已而為之。

服務程序

已經啟動的service

後台程序

不可見的activity(呼叫onstop()之後的activity)

後台程序不會影響使用者的體驗,為了保證前台程序,可視程序,服務程序的執行,系統隨時有可能殺死乙個後台程序。當乙個正確實現了生命週期的activity處於後台被殺死時,如果使用者重新啟動,會恢復之前的執行狀態。

空程序

任何沒有活動的程序

系統會殺死空程序,但這不會造成影響。空程序的存在無非為了一些快取,以便於下次可以更快的啟動。

android 程序優先順序

程序 process 的優先順序 從高到低 前台程序 foreground process 1 當前使用者操作的activity所在程序 2 繫結了當前使用者操作的activity的service所在程序 3 呼叫了startforeground 的service 1 提高service優先順序的方...

Android程序優先順序

android將程序的優先順序分為5個層次,按照優先順序由高到低排列如下 前台程序 foreground process 它表明使用者正在與該程序進行互動操作,android系統依據下面的條件來將乙個程序標記為前台程序 可見程序 visible process 它表明雖然該程序沒有持有任何前台元件,...

Android程序優先順序

程序間的優先順序關係 執行耗時操作的程序選擇 參考資料 android在記憶體緊張的時候會對程序採取一定的策略來終止程序,而這些策略是往往是根據程序的優先順序來出處理的 優先順序由高到低排列 指正在與使用者進行互動的應用程序,該程序數量較少,是最高優先順序程序,系統一般不會終止該程序,而判斷為前台程...