自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

更快更好的學(xué)習(xí)Android進(jìn)程

移動(dòng)開(kāi)發(fā) Android
Android進(jìn)程是用戶當(dāng)前正在使用的進(jìn)程,如果滿足以下條件之一則進(jìn)程可以作為前臺(tái)進(jìn)程,下面文章進(jìn)行詳細(xì)說(shuō)明。

Android是基于Linux內(nèi)核的軟件平臺(tái)和操作系統(tǒng),是由2007年由Google開(kāi)發(fā)而成,希望借助建立標(biāo)準(zhǔn)化、開(kāi)放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開(kāi)放式的生態(tài)系統(tǒng)。

Android盡量不去中止一個(gè)進(jìn)程,但是當(dāng)內(nèi)存不足的時(shí)候它必須中止一些老的線程。為了決定哪些進(jìn)程保留哪些進(jìn)程中止,Android給這些進(jìn)程一個(gè)“重要級(jí)”,這個(gè)級(jí)別取決于進(jìn)程中的組件和組件的狀態(tài)。最不重要的進(jìn)程先被中止,然后是次不重要的,依此類(lèi)推。重要級(jí)別有5個(gè)程度,以下詳細(xì)說(shuō)明:

1.有一個(gè)用戶正在交互的activity, (Activity對(duì)象的onResume()方法被調(diào)用). 有一個(gè)響應(yīng)用戶正在交互的activity的sercie.有一個(gè) Service 對(duì)象正在執(zhí)行生命周期的方法 (onCreate(), onStart(), or onDestroy()).有一個(gè) BroadcastReceiver 對(duì)象在執(zhí)行onReceive() 方法。

只有一些前臺(tái)Android進(jìn)程可以在任何時(shí)候都存在。他們是***一個(gè)被結(jié)束的――當(dāng)內(nèi)存低到根本連他們都不能運(yùn)行的時(shí)候。一般來(lái)說(shuō),在這種情況下,設(shè)備會(huì)進(jìn)行內(nèi)存調(diào)度,中止一些前臺(tái)進(jìn)程來(lái)保持對(duì)用戶交互的響應(yīng)。.

2.見(jiàn)進(jìn)程不包含前臺(tái)的組件但是會(huì)在屏幕上顯示。如果滿足了以下任意一個(gè)條件,進(jìn)程就可以視為可見(jiàn):有一個(gè)非前臺(tái)的但是仍然對(duì)用戶可見(jiàn)的activity。( onPause() 方法被調(diào)用). 這種情況發(fā)生于,例如,當(dāng)前前臺(tái)的activity是一個(gè)對(duì)話框,上一個(gè)activity還是可見(jiàn)的。 具有一個(gè)綁定到可見(jiàn)activity的service。一個(gè)可見(jiàn)的進(jìn)程是的重要程度很高,除非前臺(tái)進(jìn)程需要獲取它的資源,不然不會(huì)被中止。

3.服務(wù)進(jìn)程 中運(yùn)行著一個(gè)通過(guò) startService() 方法啟動(dòng)的service,這個(gè)service不屬于上面提到的2種更高重要性的,service所在的進(jìn)程雖然對(duì)用戶不是直接可見(jiàn)的,但是他們執(zhí)行了用戶非常關(guān)注的任務(wù)(比如播放mp3,從網(wǎng)絡(luò)下載數(shù)據(jù))。只要前臺(tái)進(jìn)程和可見(jiàn)進(jìn)程有足夠的內(nèi)存,系統(tǒng)不會(huì)回收他們。

4.后臺(tái)進(jìn)程 中運(yùn)行著一個(gè)對(duì)用戶不可見(jiàn)的activity(調(diào)用過(guò) onStop() 方法).這些進(jìn)程對(duì)用戶體驗(yàn)沒(méi)有直接的影響,可以在服務(wù)進(jìn)程、可見(jiàn)進(jìn)程、前臺(tái)進(jìn)程需要內(nèi)存的時(shí)候回收。通常。

系統(tǒng)中會(huì)有很多不可見(jiàn)進(jìn)程在運(yùn)行,他們被保存在LRU (least recently used) 列表中,以便內(nèi)存不足的時(shí)候被***時(shí)間回收。如果一個(gè)activity正確的執(zhí)行了它的生命周期,關(guān)閉這個(gè)Android進(jìn)程對(duì)于用戶體驗(yàn)沒(méi)有太大的影響。

5.空進(jìn)程 中未運(yùn)行任何程序組件。運(yùn)行這些進(jìn)程的唯一原因是作為一個(gè)緩存,縮短下次程序需要重新使用的啟動(dòng)時(shí)間。系統(tǒng)經(jīng)常中止這些進(jìn)程,這樣可以調(diào)節(jié)程序緩存和系統(tǒng)緩存的平衡。.Android進(jìn)程的重要性評(píng)級(jí)的時(shí)候,選取它***的級(jí)別。例如一個(gè)進(jìn)程中有一個(gè)service和可以可見(jiàn)的activity,則Android將此進(jìn)程評(píng)判為“可見(jiàn)進(jìn)程”而非“服務(wù)進(jìn)程。”

另外,當(dāng)被另外的一個(gè)進(jìn)程依賴的時(shí)候,某個(gè)進(jìn)程的級(jí)別可能會(huì)增高。一個(gè)為其他進(jìn)程服務(wù)的進(jìn)程永遠(yuǎn)不會(huì)比被服務(wù)的進(jìn)程重要級(jí)低。例如,進(jìn)程A中的content provider 正在為客戶進(jìn)程B提供數(shù)據(jù),或者A中的service綁定到進(jìn)程B中,那么A的重要級(jí)最少都是B的重要級(jí)。

因?yàn)榉?wù)進(jìn)程比后臺(tái)activity進(jìn)程重要級(jí)高,因此一個(gè)要進(jìn)行耗時(shí)工作的acitvity***啟動(dòng)一個(gè)service來(lái)做這個(gè)工作。而不是開(kāi)啟一個(gè)子進(jìn)程――特別是這個(gè)操作需要的時(shí)間比activity存在的時(shí)間還要長(zhǎng)的時(shí)候。例如,在后臺(tái)播放音樂(lè),向網(wǎng)上上傳攝像頭拍到的圖片。

使用service可以使進(jìn)程最少獲取到“Android進(jìn)程”級(jí)別的重要級(jí),而不用考慮acrivity目前是什么狀態(tài)。向 Broadcast receiver lifecycle 章節(jié)講到的, broadcast receivers做費(fèi)時(shí)的工作的時(shí)候,也應(yīng)該啟用一個(gè)服務(wù)而不是開(kāi)一個(gè)線程。

【編輯推薦】

  1. Android應(yīng)用程序組建原理深入剖析
  2. Android SMS短信服務(wù)相關(guān)概念簡(jiǎn)述
  3. PythonAndroid數(shù)據(jù)庫(kù)相關(guān)代碼解讀
  4. PythonAndroid安裝卸載程序具體操作方法解析
  5. Android應(yīng)用程序的四個(gè)關(guān)鍵點(diǎn)
責(zé)任編輯:chenqingxiang 來(lái)源: 51CTO.com
相關(guān)推薦

2017-09-04 17:50:12

2010-02-02 13:59:11

Python編寫(xiě)

2010-01-20 17:32:16

C++函數(shù)

2009-12-30 10:46:01

Ubuntu目標(biāo)

2010-02-03 09:27:21

編寫(xiě)Python程序

2010-01-06 13:57:03

解析JSON

2010-01-26 09:40:23

C++代碼

2018-11-12 00:23:44

谷歌Android開(kāi)發(fā)者

2024-05-14 10:21:14

Web 框架Node.jsJavaScript

2011-01-21 12:03:46

2010-02-03 17:51:42

Ubuntu Linu

2021-12-19 13:56:46

機(jī)器學(xué)習(xí)數(shù)據(jù)人工智能

2013-10-18 10:27:11

VDI部署VDI

2016-10-25 12:39:37

Windows優(yōu)化桌面

2015-06-16 09:04:36

無(wú)線技術(shù)無(wú)線網(wǎng)絡(luò)

2010-01-15 19:28:59

C++

2010-01-15 16:25:48

學(xué)習(xí)C++

2023-08-17 14:22:17

深度學(xué)習(xí)機(jī)器學(xué)習(xí)

2022-01-17 07:50:36

Maven Gradle 工具

2015-07-23 10:14:29

QQ瀏覽器9.0
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)