Android程式優先順序

weixin_34353714發表於2018-07-20

android系統會盡量長期的保留應用程式的程式。

程式的優先順序, 提供系統回收程式的一套方案. 從高到低迴收程式.
只有系統記憶體嚴重不足的時候 回收程式。回收的順序如下:

1.Foreground process 前臺程式.使用者正在操作的程式.
2.Visible process 可視程式.  不能直接操作, 並且沒有獲取焦點. 但是可以看到的應用.
3.Service process 服務程式. 在後臺長期執行, 沒有介面的程式.
4.Background process 後臺程式.  當我們開啟一個應用程式, 沒有關閉它, 點選home鍵, 託管到後臺.
5.Empty process 空程式. 當我們把一個應用程式關掉後, 系統沒有立刻的把程式給回收掉, 這時候程式中沒有元件, 變成空程式.

android系統做了一個優化, 當特殊情況下, 需要回收Service process, Visible process, Foreground process 程式時, 回收後, 當系統記憶體夠用時,又會把殺死的程式重新啟動.

只有使用者手動的把服務給關閉掉, 那麼服務才會真正的銷燬. 如果使用者沒有手動關閉, 服務會一直執行在系統中.

#########################################################

有責任感的程式設計師不寫流氓程式碼。

殺死自已程式的程式:

//專注於自殺的方法。
android.os.Process.killProcess(android.os.Process.myPid());

殺死別的程式的程式:

//相當於得到程式管理器
ActivityManager am= (ActivityManager) getSystemService(ACTIVITY_SERVICE);
//專注於殺死別人
am.killBackgroundProcesses(packname);

相關文章