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

Android應(yīng)用程序入門(mén)到精通

移動(dòng)開(kāi)發(fā) Android
本文向大家介紹Android應(yīng)用程序,可能好多人還不了解Android應(yīng)用程序,沒(méi)有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。

可視進(jìn)程是持有一個(gè)被用戶(hù)可見(jiàn), 但沒(méi)有顯示在最前端 (onPause方法被調(diào)用時(shí)) 的Activity的進(jìn)程. 舉例來(lái)說(shuō), 這種進(jìn)程通常出現(xiàn)在一個(gè)前端Activity以一個(gè)對(duì)話框出現(xiàn)并保持前一個(gè)Android應(yīng)用程序可見(jiàn)時(shí)。

這種進(jìn)程被系統(tǒng)認(rèn)為是極其重要的, 并且通常不會(huì)被殺掉, 除非為了保持所有前端進(jìn)程正常運(yùn)行不得不殺掉這些可見(jiàn)進(jìn)程。服務(wù)進(jìn)程是持有一個(gè)Service的進(jìn)程, 該Service是由startService()方法啟動(dòng)的, 盡管這些進(jìn)程用戶(hù)不能直接看到, 但是通常他們做的工作用戶(hù)是十分關(guān)注的(例如, 在后臺(tái)播放mp3或是在后臺(tái)下載 上傳文件)。

所以, 除非為了保持所有的前端進(jìn)程和可視進(jìn)程正常運(yùn)行外, 系統(tǒng)是不會(huì)殺掉服務(wù)進(jìn)程的。后臺(tái)進(jìn)程是持有一個(gè)不再被用戶(hù)可見(jiàn)的Activity(onStop()方法被調(diào)用時(shí))的進(jìn)程. 這些進(jìn)程不會(huì)直接影響用戶(hù)體驗(yàn). 加入這些進(jìn)程已經(jīng)完整的。

正確的完成了自己的生命周期(訪問(wèn)Activity查看更多細(xì)節(jié)), 系統(tǒng)會(huì)在為前三種進(jìn)程釋放內(nèi)存時(shí)隨時(shí)殺掉這些后臺(tái)進(jìn)程. 通常會(huì)有很多的后臺(tái)進(jìn)程在運(yùn)行, 所以這些進(jìn)程被存放在一個(gè)LRU列表中, 以保證在低內(nèi)存的時(shí)候, 最近一個(gè)被用戶(hù)看到的進(jìn)程會(huì)被最后殺掉。

空進(jìn)程是沒(méi)有持有任何活動(dòng)應(yīng)用組件的進(jìn)程. 保留這種進(jìn)程的唯一理由是為了提供一種緩存機(jī)制, 縮短他的應(yīng)用下次運(yùn)行時(shí)的啟動(dòng)時(shí)間。就其本身而言, 系統(tǒng)殺掉這些進(jìn)程的目的是為了在這些空進(jìn)程和底層的核心緩存之間平衡整個(gè)系統(tǒng)的資源.

當(dāng)需要給一個(gè)進(jìn)程分類(lèi)的時(shí)候。系統(tǒng)會(huì)在該進(jìn)程中處于活動(dòng)狀態(tài)的所有組件里掉選一個(gè)重要等級(jí)最高作為分類(lèi)依據(jù). 查看Activity, Service,和IntentReceiver的文檔。了解每個(gè)組件在進(jìn)程整個(gè)生命周期中的貢獻(xiàn)。

 每一個(gè)classes的文檔詳細(xì)描述他們?cè)诟髯詰?yīng)用的生命周期中所起得作用。 但是,并不是每一個(gè)Android應(yīng)用程序都需要這四種構(gòu)造塊,這不是必須的,某些時(shí)候,我們只需要這四種中的幾種組合成我們的應(yīng)用。

當(dāng)我們明確了我們的應(yīng)用需要哪些構(gòu)造塊后,我們就需要在AndroidManifest.xml中登記這些構(gòu)造塊的清單。這是一個(gè)XML配置文件。這個(gè)配置文件用于定義我們的應(yīng)用程序的組件、組件的功能及必要條件等。這個(gè)配置文件是每個(gè)Android應(yīng)用必需的。對(duì)于AndroidMainfest.xml的Schema,參考SDK包附帶的文檔。

一個(gè)Service是一段長(zhǎng)生命周期的,Android應(yīng)用程序沒(méi)有用戶(hù)界面的程序。比較好的一個(gè)例子就是一個(gè)正在從播放列表中播放歌曲的媒體播放器。在一個(gè)媒體播放器的應(yīng)用中,應(yīng)該會(huì)有多個(gè)activity,讓使用者可以選擇歌曲并播放歌曲。然而,音樂(lè)重放這個(gè)功能并沒(méi)有對(duì)應(yīng)的activity,因?yàn)槭褂谜弋?dāng)然會(huì)認(rèn)為在導(dǎo)航到其它屏幕時(shí)音樂(lè)應(yīng)該還在播放的。

在這個(gè)例子中,媒體播放器這個(gè)activity會(huì)使用Context.startService()來(lái)啟動(dòng)一個(gè)service,從而可以在后臺(tái)保持音樂(lè)的播放。同時(shí),系統(tǒng)也將保持這個(gè)service一直執(zhí)行,直到這個(gè)service運(yùn)行結(jié)束。

另外,我們還可以通過(guò)使用Context.bindService()方法,連接到一個(gè)service上(如果這個(gè)service還沒(méi)有運(yùn)行將啟動(dòng)它)。當(dāng)連接到一個(gè)service之后,我們還可以service提供的接口與它進(jìn)行通訊。拿媒體播放器這個(gè)例子來(lái)說(shuō),我們還可以進(jìn)行暫停、重播等操作。

【編輯推薦】

  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)源: NET130
相關(guān)推薦

2010-02-06 15:31:18

ibmdwAndroid

2009-07-22 14:55:16

ibmdwAndroid

2016-12-08 22:39:40

Android

2013-01-17 15:51:42

Android開(kāi)發(fā)應(yīng)用程序組件

2010-10-15 09:39:22

MeeGoQt

2023-06-27 08:34:32

2010-01-25 13:29:53

Android本地應(yīng)用

2011-11-03 09:41:35

Android簽名安全性

2017-05-09 08:48:44

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

2012-02-29 00:49:06

Linux學(xué)習(xí)

2025-02-24 10:07:10

2022-06-10 08:17:52

HashMap鏈表紅黑樹(shù)

2009-10-21 09:24:31

VB.NET應(yīng)用程序

2010-02-04 10:17:38

Android應(yīng)用程序

2009-06-10 11:47:32

Android應(yīng)用程序模塊

2010-02-05 18:21:24

Android應(yīng)用程序

2011-05-27 10:13:39

Android 簽名

2011-05-10 13:56:27

Android應(yīng)用程序Android MarAndroid

2017-03-02 11:10:39

AndroidMVVM應(yīng)用程序

2010-03-02 14:24:00

Android應(yīng)用程序
點(diǎn)贊
收藏

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