偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

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

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

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

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

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

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

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

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

因為服務(wù)進(jìn)程比后臺activity進(jìn)程重要級高,因此一個要進(jìn)行耗時工作的acitvity***啟動一個service來做這個工作。而不是開啟一個子進(jìn)程――特別是這個操作需要的時間比activity存在的時間還要長的時候。例如,在后臺播放音樂,向網(wǎng)上上傳攝像頭拍到的圖片。

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

【編輯推薦】

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

2017-09-04 17:50:12

2010-02-02 13:59:11

Python編寫

2010-01-20 17:32:16

C++函數(shù)

2009-12-30 10:46:01

Ubuntu目標(biāo)

2010-02-03 09:27:21

編寫Python程序

2010-01-06 13:57:03

解析JSON

2010-01-26 09:40:23

C++代碼

2024-05-14 10:21:14

Web 框架Node.jsJavaScript

2018-11-12 00:23:44

谷歌Android開發(fā)者

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

無線技術(shù)無線網(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
點贊
收藏

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