android進(jìn)程的介紹

前臺(tái)進(jìn)程

這個(gè)進(jìn)程是最重要的,是最后被銷毀的。前臺(tái)進(jìn)程是目前正在屏幕上顯示的進(jìn)程和一些系統(tǒng)進(jìn)程,也就是和用戶正在交互的進(jìn)程。例如,我正在使用qq跟別人聊天,在我的Android手機(jī)上這個(gè)進(jìn)程就應(yīng)該是前臺(tái)進(jìn)程。

可見進(jìn)程

可見進(jìn)程指部分程序界面能夠被用戶看見,卻不在前臺(tái)與用戶交互的進(jìn)程。例如,我們?cè)谝粋€(gè)界面上彈出一個(gè)對(duì)話框(該對(duì)話框是一個(gè)新的Activity),那么在對(duì)話框后面的原界面是可見的,但是并沒有與用戶進(jìn)行交互,那么原界面就是可見進(jìn)程。

服務(wù)進(jìn)程

服務(wù)進(jìn)程是通過 startService() 方法啟動(dòng)的進(jìn)程,但不屬于前臺(tái)進(jìn)程和可見進(jìn)程。例如,在后臺(tái)播放音樂或者在后臺(tái)下載就是服務(wù)進(jìn)程。

后臺(tái)進(jìn)程

后臺(tái)進(jìn)程指的是目前對(duì)用戶不可見的進(jìn)程。例如我正在使用qq和別人聊天,這個(gè)時(shí)候qq是前臺(tái)進(jìn)程,但是當(dāng)我點(diǎn)擊Home鍵讓qq界面消失的時(shí)候,這個(gè)時(shí)候它就轉(zhuǎn)換成了后臺(tái)進(jìn)程。當(dāng)內(nèi)存不夠的時(shí)候,可能會(huì)將后臺(tái)進(jìn)程回收。

空進(jìn)程

空進(jìn)程指的是在這些進(jìn)程內(nèi)部,沒有任何東西在運(yùn)行。保留這種進(jìn)程的的唯一目的是用作緩存,以縮短該應(yīng)用下次在其中運(yùn)行組件所需的啟動(dòng)時(shí)間。

它們的回收順序從先到后分別是:空進(jìn)程,后臺(tái)進(jìn)程,服務(wù)進(jìn)程,可見進(jìn)程,前臺(tái)進(jìn)程。


拓展,service防殺死處理

1.使用極光推送,在推送的服務(wù)器中實(shí)現(xiàn)自己的監(jiān)聽

2.啟動(dòng)服務(wù)的方法,參數(shù)為START_STICKY,在android中,我們使用startService啟動(dòng)服務(wù)。在Service的派生類里,會(huì)調(diào)用onStartCommand(Intent,int,int)來啟動(dòng)服務(wù)。

onStartCommand有三種返回值:

START_STICKY:

使用這個(gè)返回值時(shí),我們啟動(dòng)的服務(wù)跟應(yīng)用程序"粘"在一起,如果在執(zhí)行完onStartCommand后,服務(wù)被異常kill掉,系統(tǒng)會(huì)自動(dòng)重啟該服務(wù)。當(dāng)再次啟動(dòng)服務(wù)時(shí),傳入的第一個(gè)參數(shù)將為null;

3.?startForeground,把服務(wù)啟動(dòng)成前臺(tái)服務(wù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容