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