精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android應用程序模塊詳解

移動開發 Android
本文向您介紹Android應用程序開發中的各個模塊,包括任務、啟動模式、進程和線程等。

在大多數操作系統里,存在獨立的一個1對1的可執行文件(如Windows里的exe文件), 它可以產生進程,并能和界面圖標、應用進行用戶交互。但在Android里,這是不固定的,理解將這些分散的部分如何進行組合是非常重要的。

由于Android這種可靈活變通的,在實現一個應用不同部分時你需要理解一些基礎技術:

一個android 包 (簡稱 .apk ) ,里面包含應用程序的代碼以及資源。這是一個應用發布,用戶能下載并安裝他們設備上的文件。

一個任務 ,通常用戶能當它為一個“應用程序”來啟動:通常在桌面上會有一個圖標可以來啟動任務,這是一個上層的應用,可以將你的任務切換到前臺來。

一個進程 是一個底層的代碼運行級別的核心進程。通常.apk包里所有代碼運行在一個進程里,一個進程對于一個.apk包;然而, 進程 標簽常用來改變代碼運行的位置,可以是 全部的.apk包 或者是獨立的 活動, 接收器, 服務, 或者 提供器組件。

任務

記住關鍵的一點:當用戶看到的“應用”,無論實際是如何處理的,它都是一個任務。如果你僅僅通過一些活動來創建一個.apk包,其中有一個肯定是上層入口(通過動作的intent-filter 以及分類android.intent.category.LAUNCHER),然后你的.apk包就創建了一個單獨任務,無論你啟動哪個活動都會是這個任務的一部分。

一個任務,從使用者的觀點,他是一個應用程序;對開發者來講,它是貫穿活動著任務的一個或者多個視圖,或者一個活動棧。當設置Intent.FLAG_ACTIVITY_NEW_TASK標志啟動一個活動意圖時,任務就被創建了;這個意圖被用作任務的根用途,定義區分哪個任務。如果活動啟動時沒有這個標記將被運行在同一個任務里(除非你的活動以特殊模式被啟動,這個后面會討論)。如果你使用 FLAG_ACTIVITY_NEW_TASK標記并且這個意圖的任務已經啟動,任務將被切換到前臺而不是重新加載。

FLAG_ACTIVITY_NEW_TASK必須小心使用:在用戶看來,一個新的應用程序由此啟動。如果這不是你期望的,你想要創建一個新的任務。另外,如果用戶需要從桌面退出到他原來的地方然后使用同樣的意圖打開一個新的任務,你需要使用新的任務標記。否則,如果用戶在你剛啟動的任務里按桌面(HOME)鍵,而不是退出(BACK)鍵,你的任務以及任務的活動將被放在桌面程序的后面,沒有辦法再切換過去。

任務親和力(Affinities)

一些情況下Android需要知道哪個任務的活動附屬于一個特殊的任務,即使該任務還沒有被啟動。這通過任務親和力來完成,它為任務中一個或多個可能要運行的活動提供一個獨一無二的靜態名字。默認為活動命名的任務親和力的名字,就是實現該活動.apk包的名字。這提供一種通用的特性,對用戶來說,所有在.apk包里的活動都是單一應用的一部分。

當不帶 Intent.FLAG_ACTIVITY_NEW_TASK 標記啟動一個新的活動,任務親和力對新啟動的活動將沒有影響作用:它將一直運行在它啟動的那個任務里。然而,如果使用NEW_TASK標記,親和力會檢測已經存在的任務是否具有相同的親和力。如果是,該任務會被切換到前臺,新的活動會在任務的最上面被啟動。

你可以在你的表現文件里的應用程序標簽里為.apk包里所有的活動設置你自己的任務親和力,當然也可以為單獨的活動設置標簽。這里有些例子演示如何使用:

如果你的.apk包里包含多個用戶可啟動的上層應用程序,那么你可能想要為每個活動分配不同的親和力。這里有一個不錯的協定,你可以將不同的名字字串加上冒號附加在.apk包名字的后面 。 例如,"com.android.contacts"的親和力命名可以是"com.android.contacts:Dialer" and "com.android.contacts:ContactsList"。 

如果你想替換一個通知,快捷鍵,或者其它能從外部啟動的應用程序的內部活動,你需要在你想替換的活動里明確的設置任務親和力(taskAffinity)。例如,如果你想替換聯系人詳細信息瀏覽界面(用戶可以直接操作或者通過快捷方式調用),你需要設置任務親和力(taskAffinity)為“com.android.contacts”。 

啟動模式以及啟動標記

你控制活動和任務通信的最主要的方法是通過設置啟動模式的屬性以及意圖相應的標記。這兩個參數能以不同的組合來共同控制活動的啟動結果,這在相應的文檔里有描述。這里我們只描述一些通用的用法以及幾種不同的組合方式。

你最通常使用的模式是singleTop(除了默認為standard模式)。這不會對任務產生什么影響;僅僅是防止在棧頂多次啟動同一個活動。 

singleTask模式對任務有一些影響:它能使得活動總是在新的任務里被打開(或者將已經打開的任務切換到前臺來)。使用這個模式需要加倍小心該進程是如何和系統其他部分交互的,它可能影響所有的活動。這個模式最好被用于應用程序入口活動的標記中。(支持MAIN活動和LAUNCHER分類)。

singleInstance啟動模式更加特殊,該模式只能當整個應用只有一個活動時使用。

有一種情況你會經常遇到,其它實體(如搜索管理器SearchManager 或者 通知管理器NotificationManager)會啟動你的活動。這種情況下,你需要使用 Intent.FLAG_ACTIVITY_NEW_TASK 標記,因為活動在任務(這個應用/任務還沒有被啟動)之外被啟動。就像之前描述的一樣, 這種情況下標準特性就是當前和任務和新的活動的親和性匹配的任務將會切換到前臺,然后在最頂端啟動一個新的活動。當然,你也可以實現其它類型的特性。

一個常用的做法就是將Intent.FLAG_ACTIVITY_CLEAR_TOP 和NEW_TASK一起使用。這樣做,如果你的任務已經處于運行中,任務將會被切換到前臺來, 在棧里的所有的活動除了根活動,都將被清空,根活動的onNewIntent(Intent) 方法傳入意圖參數后被調用。當使用這種方法的時候 singleTop 或者 singleTask啟動模式經常被使用,這樣當前實例會被置入一個新的意圖,而不是銷毀原先的任務然后啟動一個新的實例。

另外你可以使用的一個方法是設置活動的任務親和力為空字串(表示沒有親和力),然后設置finishOnBackground屬性。 如果你想讓用戶給你提供一個單獨的活動描述的通知,倒不如返回到應用的任務里,這個比較管用。要指定這個屬性,不管用戶使用BACK還是HOME,活動都會結束;如果這個屬性沒有指定,按HOME鍵將會導致活動以及任務還留在系統里,并且沒有辦法返回到該任務里。 

進程

在Android中,進程是應用程序的完整實現,而不是用戶通常了解的那樣。他們主要用途很簡單:

◆提高穩定性和安全性,將不信任或者不穩定的代碼移動到其他進程。 
◆可將多個.apk包運行在同一個進程里減少系統開銷。 
◆幫助系統管理資源,將重要的代碼放在一個單獨的進程里,這樣就可以單獨銷毀應用程序的其他部分。 

像前面描述的一樣,進程的屬性被用來控制那些有特殊應用組件運行的進程。注意這個屬性不能違反系統安全: 如果兩個.apk包不能共享同一個用戶ID,卻試圖運行在通一個進程里,這種情況是不被允許的,事實上系統將會創建兩個不同的進程。

線程

每個進程包含一個或多個線程。多數情況下,Android 避免在進程里創建多余的線程,除非它創建它自己的線程,我們應保持應用程序的單線程性。 一個重要的結論就是所有呼叫實例, 廣播接收器, 以及 服務的實例都是由這個進程里運行的主線程創建的。

注意新的線程不是為活動,廣播接收器,服務或者內容提供器實例創建:這些應用程序的組件在進程里被實例化(除非另有說明,都在同一個進程處理),實際上是進程的主線程。這說明當系統調用時這些組件(包括服務)不需要進程遠距離或者封鎖操作(就像網絡呼叫或者計算循環),因為這將阻止進程中的所有其他組件。你可以使用標準的線程 類或者Android的HandlerThread 類去對其它線程執行遠程操作。

這里有一些關于創建線程規則的例外:

呼叫IBinder或者IBinder實現的接口,如果該呼叫來自其他進程,你可以通過線程發送的IBinder或者本地進程中的線程池呼叫它們,從進程的主線程呼叫是不可以的。特殊情況下,,呼叫一個服務 的IBinder可以這樣處理。(雖然在服務里呼叫方法在主線程里已經完成。)這意味著IBinder接口的實現必須要有一種線程安全的方法,這樣任意線程才能同時訪問它。

呼叫由正在被調用的線程或者主線程以及IBinder派發的內容提供器 的主方法。被指定的方法在內容提供器的類里有記錄。這意味著實現這些方法必須要有一種線程安全的模式,這樣任意其它線程同時可以訪問它。

呼叫視圖以及由視圖里正在運行的線程組成的子類。通常情況下,這會被作為進程的主線程,如果你創建一個線程并顯示一個窗口,那么繼承的窗口視圖將從那個線程里啟動。 

【編輯推薦】

  1. 怎樣使用Eclipse來開發Android源碼 
  2. 開發者眼中的Moblin和Android 
  3. Acer宣布啟動Android開發進程 
  4. Google將推Android 1.5 包含新的APIs 
  5. Android平臺應用開發實例:Notepad
責任編輯:佚名 來源: chinaup
相關推薦

2011-08-10 11:25:59

ipad信息架構數據結構

2010-01-04 10:41:14

Silverlight

2009-07-23 13:26:21

2009-09-22 09:42:24

Scala的核心

2010-08-02 09:10:36

Flex模塊化

2013-07-25 15:05:00

Android模擬器Genymotion

2011-07-26 09:41:23

iPhone xcode Mac OS X

2011-07-28 15:47:20

IOS 程序 測試

2011-07-19 14:36:32

iPhone

2010-01-25 13:29:53

Android本地應用

2011-11-03 09:41:35

Android簽名安全性

2023-12-10 14:43:30

PythonGUIeel

2010-10-08 09:03:51

2010-02-05 18:21:24

Android應用程序

2011-05-10 13:56:27

Android應用程序Android MarAndroid

2010-02-04 10:17:38

Android應用程序

2011-05-27 10:13:39

Android 簽名

2010-02-07 10:25:11

Android

2017-03-02 11:10:39

AndroidMVVM應用程序

2010-03-02 14:24:00

Android應用程序
點贊
收藏

51CTO技術棧公眾號

国产51人人成人人人人爽色哟哟 | 亚洲最新av网站| 久久亚洲国产| 亚洲成年人在线播放| 国产视频一区二区视频| a视频在线播放| 91视频免费播放| 91久久精品日日躁夜夜躁国产| 久久黄色免费网站| 成人久久电影| 日韩成人在线播放| 日本中文字幕有码| 成人深夜福利| 欧美性生活大片免费观看网址| 在线观看精品视频| 欧美日韩伦理片| 国产激情偷乱视频一区二区三区| 欧美在线中文字幕| 久久久久人妻一区精品色欧美| 国产精品欧美日韩一区| 日韩精品一区二区三区中文不卡| 国产主播中文字幕| 男人天堂视频在线观看| 依依成人精品视频| 在线视频亚洲自拍| 国产精品四虎| 91一区一区三区| 国产超碰91| 国产免费久久久| 蜜臀久久99精品久久久画质超高清| 久久久久久中文字幕| 成人一级黄色大片| 欧美日韩一二三四| 亚洲欧美中文在线视频| 一级欧美一级日韩片| 岛国精品一区| 日韩三级.com| 久久综合桃花网| 国产成人免费av一区二区午夜| 在线观看视频欧美| 亚洲人成无码www久久久| 欧美性受ⅹ╳╳╳黑人a性爽| 亚洲视频在线观看一区| 中文字幕不卡每日更新1区2区| 国产在线一二三区| 久久久欧美精品sm网站| 久久婷婷人人澡人人喊人人爽| 亚洲经典一区二区三区| 国产a级毛片一区| 91久久国产综合久久蜜月精品| 国产尤物在线观看| 精品一区二区三区的国产在线播放 | 欧美日韩国产高清一区二区三区 | 4k岛国日韩精品**专区| 日韩精品人妻中文字幕| 亚洲高清网站| 91精品国产91久久久久久| 久久精品视频久久| 国产欧美丝祙| 国产成人一区二区三区| 波多野结衣视频在线观看| 久久精选视频| 国产精品女人久久久久久| 一级片免费网站| 激情另类小说区图片区视频区| 亚洲xxxxx| 亚洲成人av综合| av亚洲精华国产精华精华| 久久99精品久久久久久水蜜桃| 亚洲三区在线观看无套内射| 91麻豆文化传媒在线观看| 欧美日韩一区综合| 9i精品一二三区| 一区二区三区四区国产精品| 丰满的少妇愉情hd高清果冻传媒| 黄色污网站在线观看| 欧美性生交xxxxxdddd| 国产wwwxx| 在线视频亚洲欧美中文| 亚洲第一中文字幕| 欧美激情亚洲色图| 欧美aⅴ99久久黑人专区| 97视频在线播放| 伊人影院中文字幕| 成人看片黄a免费看在线| 久久大香伊蕉在人线观看热2| 国产高清视频免费最新在线| 中文字幕亚洲区| 久草免费福利在线| 懂色aⅴ精品一区二区三区| 欧美一级二级三级乱码| 色噜噜在线观看| 久久国产小视频| 高清视频欧美一级| 丝袜久久网站| 一区二区三区四区五区精品视频| 午夜精品久久17c| 免费又黄又爽又猛大片午夜| 老司机午夜精品99久久| 国产成人免费电影| 国产午夜在线视频| 一区二区三区中文在线观看| 久久久久久久少妇| 亚洲成人黄色| 中文字幕亚洲一区在线观看 | 亚洲黄色录像片| 播放灌醉水嫩大学生国内精品| 久久老司机精品视频| 亚洲国产国产亚洲一二三| 国产精品极品美女粉嫩高清在线| www.久久伊人| 国产精品伦理在线| 精品这里只有精品| 日韩影片在线观看| 少妇高潮 亚洲精品| 国产午夜精品无码一区二区| 麻豆91在线观看| 欧美日韩在线一二三| 青春草视频在线观看| 欧美优质美女网站| 亚洲专区区免费| 亚洲国产激情| 亚洲精品免费网站| 137大胆人体在线观看| 天天av天天翘天天综合网色鬼国产| 福利片一区二区三区| 最新亚洲精品| 69av在线视频| 欧美一级特黄aaaaaa| 亚洲三级在线观看| 青青青在线视频免费观看| 日韩在线你懂的| 97不卡在线视频| 国产制服91一区二区三区制服| 老色鬼在线视频| 日韩欧美中文字幕公布| 亚洲国产精品一区二区久久hs| 国产三级在线看| 精品成人乱色一区二区| 亚洲AV成人精品| 中文字幕午夜精品一区二区三区| 国产啪精品视频| 在线播放日本| 色成人在线视频| 无码一区二区三区在线| 久久精品伊人| 日韩欧美亚洲v片| 日本少妇一区| 中文字幕9999| 一级黄色片在线观看| 国产精品久久久久久久久果冻传媒 | 欧美自拍偷拍一区二区| 亚洲1区2区3区4区| 亚洲精品乱码久久久久久不卡| av成人激情| 欧美日韩综合精品| 欧美成人影院| 综合136福利视频在线| 在线观看日韩一区二区| 国产精品对白交换视频| 午夜xxxxx| 欧美日韩亚洲一区在线观看| 91成人免费观看| 波多野结衣中文字幕久久| 亚洲精品在线观看视频| 九九热在线视频播放| 久久理论电影网| 日本激情综合网| 国产精品88久久久久久| 亚洲xxx视频| av在线私库| 亚洲免费伊人电影在线观看av| 国模私拍一区二区| 一区二区三区资源| av鲁丝一区鲁丝二区鲁丝三区| 葵司免费一区二区三区四区五区| 人偷久久久久久久偷女厕| 少妇精品视频在线观看| 久久久久久91香蕉国产| 手机看片福利在线观看| 欧美日韩亚洲高清一区二区| 中文字幕另类日韩欧美亚洲嫩草| av午夜一区麻豆| 可以看污的网站| 99热精品在线| 一区二区欧美日韩| 欧美调教网站| 成人字幕网zmw| 都市激情国产精品| 北条麻妃一区二区三区中文字幕| 黑人精品一区二区三区| 欧美午夜一区二区| 精品处破女学生| 国产日韩精品视频一区| 欧美图片自拍偷拍| 日韩av不卡在线观看| 青青草免费在线视频观看| 蜜乳av综合| 91中文在线视频| 成人影院入口| 久久99精品久久久久久青青91 | 久久亚洲影视婷婷| 中文字幕55页| 蜜桃精品视频在线| 国产精品333| 综合国产在线| 亚洲欧美影院| 日韩动漫一区| 国产九区一区在线| 国产精久久一区二区| 国产福利视频一区二区| 超免费在线视频| 日韩中文字幕免费| 国产黄色片在线播放| 亚洲激情在线观看视频免费| 国产精品久久综合青草亚洲AV| 日韩欧美国产成人| 国产精品6666| 一区二区三区在线视频播放| www.com.av| 欧美激情一区二区在线| 亚洲欧美色图视频| www.亚洲精品| 中文字幕99页| 国产成人午夜视频| 色18美女社区| 久久99热国产| 高清av免费看| 美国毛片一区二区三区| 色一情一乱一伦一区二区三区日本| 亚洲精品乱码| 国产中文字幕乱人伦在线观看| 中文字幕免费精品| 国产精品久久成人免费观看| 日韩88av| 亚洲一区高清| 91视频综合| 超碰在线免费观看97| 久久国产综合| 亚洲一区三区| 亚州av乱码久久精品蜜桃| 亚洲巨乳在线观看| 久久高清免费| 欧美一级黄色录像片| 91久久久精品国产| 人人妻人人澡人人爽精品欧美一区| 日韩欧美综合| 法国空姐在线观看免费| 亚洲九九在线| 人人妻人人澡人人爽欧美一区双 | 国产福利第一页| 日韩一区二区三| 人妻无码中文字幕| 亚洲女同精品视频| 99se视频在线观看| 久久精品久久久久久| av免费在线观看网站| 欧美高清性猛交| 久草在线资源站手机版| 青草成人免费视频| 主播大秀视频在线观看一区二区| 国产精品久久综合av爱欲tv| 欧美日韩视频免费看| 91欧美精品午夜性色福利在线| 亚洲欧美日本国产| 久久精品国产精品国产精品污 | 国产高清免费观看| 精品成人a区在线观看| 在线观看xxx| 尤物yw午夜国产精品视频明星| 最新av网站在线观看| 久操成人在线视频| 亚洲日本天堂| 成人福利视频网| 成人精品毛片| 日韩精品无码一区二区三区| 天天综合网网欲色| 日韩国产一级片| 免费成人性网站| 亚洲最大视频网| 国产视频一区二区在线观看| 在线观看黄网址| 精品久久香蕉国产线看观看亚洲| 日韩精品在线一区二区三区| 91精品免费观看| 香蕉视频成人在线| 久久久成人的性感天堂| 亚洲美女尤物影院| 成人免费激情视频| 一区二区三区视频免费观看| 国产盗摄视频在线观看| 国产一区二区三区成人欧美日韩在线观看| 在线免费观看视频黄| 成人白浆超碰人人人人| 老司机福利在线观看| 亚洲成人午夜影院| 国产精品久久久久久久免费| 亚洲成人黄色网址| 美女羞羞视频在线观看| 97av在线视频免费播放| 精品国产一级| 亚洲开发第一视频在线播放| 国产精品久久久久久模特| 国产乱女淫av麻豆国产| 92国产精品观看| 久久精品亚洲a| 在线观看国产91| 亚洲欧美丝袜中文综合| 欧美大码xxxx| 国产成人午夜性a一级毛片| 精选一区二区三区四区五区| 中文字幕日韩一区二区不卡| 免费看污黄网站| 久久精品夜夜夜夜久久| 欧美三级一区二区三区| 欧美一级艳片视频免费观看| yourporn在线观看中文站| 91精品国产高清久久久久久91| 成人精品在线| 一级做a爰片久久| 日韩在线卡一卡二| 成年人网站免费在线观看| 亚洲国产视频直播| 国产wwwxxx| 欧美插天视频在线播放| 精品久久在线| 亚洲女人毛片| 蜜臀av性久久久久av蜜臀妖精 | 五月天国产视频| 亚洲欧洲成人自拍| 91丨porny丨在线中文 | 亚洲黄色片网站| 欧美理论片在线播放| 91在线无精精品一区二区| 99热在线成人| 日韩视频在线观看一区二区三区| 国产精品福利av| 国产精品久久久久毛片| 日韩亚洲在线观看| 9999在线精品视频| 久久国产精品免费观看| 国产福利91精品| 国产性70yerg老太| 精品动漫一区二区三区在线观看| 四虎亚洲精品| 国产精品手机在线| 99国产精品| 人妻丰满熟妇av无码久久洗澡| 亚洲不卡av一区二区三区| 少妇av一区二区| 久久久亚洲影院你懂的| 另类春色校园亚洲| 少妇高清精品毛片在线视频| 久久久久久久国产精品影院| 国产天堂第一区| 久久精品视频网站| 2023国产精华国产精品| 色欲色香天天天综合网www| 99re视频这里只有精品| 日韩不卡高清视频| 日韩视频精品在线| 911亚洲精品| 久久免费视频3| 日本一区二区三区四区| 99久久精品国产成人一区二区| 久久91精品国产91久久久| 久草在线综合| 美女少妇一区二区| 一区二区在线观看视频| 香蕉视频黄在线观看| 国产久一一精品| 狠狠爱成人网| 午夜理伦三级做爰电影| 欧美日韩一区二区不卡| 日韩另类在线| 日韩资源av在线| 国精产品一区一区三区mba视频 | 久久久久久久波多野高潮日日| 超碰人人干人人| 精品免费日韩av| 亚洲天堂1区| 日本一级黄视频| 久久久综合网站| 国产浮力第一页| 人九九综合九九宗合| 91精品国产视频| 91精品人妻一区二区三区蜜桃欧美| 欧美丰满少妇xxxxx高潮对白 | 亚洲成a人片在线观看中文| 成年人在线看| 国产另类第一区| 秋霞午夜av一区二区三区| 久久国产精品波多野结衣av| 亚洲色图av在线| 加勒比色老久久爱综合网| www.亚洲高清| 欧美日韩亚洲精品一区二区三区 | 国产aⅴ精品一区二区三区久久| 中文字幕第三区| 欧美日韩在线免费视频|