0在Android系統(tǒng)中,進程可以理解為應(yīng)用程序的具體運行實現(xiàn)。由于用戶同時打開多種程序會造成大量資源的占用。所以,我們就要適當?shù)那謇聿挥玫膽?yīng)用程序,但我們怎樣才知道哪個進程重要還是不重要呢?
Android系統(tǒng)將進程分為5種,重要性依次遞減。如下圖:
圖1 Android系統(tǒng)的五種進程
(1)前臺進程
顧名思義,前臺進程就是直接和用戶交互的進程,重要性最高。
(2)可見進程
進程重要性比前臺進程低,但在交互方面影響還是比較大的,因為用戶隨時可以將它切換為前臺進程。
(3)服務(wù)進程
對用戶不可見,但是保證了一些重要的事件被監(jiān)聽或者維持著某種狀態(tài),比如:后臺播放音樂,網(wǎng)絡(luò)下載東西等。
(4)后臺進程
雖然在后臺運行著,但用戶很少會將此調(diào)用為前臺進程,比如說你打開一個通訊錄,它就會在后臺運行了,但你也不經(jīng)常用,所以系統(tǒng)優(yōu)先會銷毀的是這類進程。
(5)空進程
空進程是指不包含任何活躍組件的進程。這類進程的作用就是高速緩存,可以加快新進程的創(chuàng)建速度,當內(nèi)存不足時,第一優(yōu)先會銷毀此類進程。
線程
一個進程中,可以有一個或多個線程。默認情況下,進程中所有組件都在UI線程中進行初始化,保證整個程序是單線程的。