精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

91精品国产66| 日本中文字幕一区二区有码在线| 欧美国产偷国产精品三区| 欧美日韩中文另类| 手机福利在线视频| 午夜精品久久久久久久99老熟妇| 好吊一区二区三区| 日韩激情视频在线| 亚洲中文字幕无码专区| 国产精品一二三区视频| 精品一区二区三区欧美| 久久久精品国产| 丰满岳乱妇一区二区| 日韩不卡免费高清视频| 日韩美女视频一区二区 | 欧美aaaaa性bbbbb小妇| 久久久久久久久久久99999| 国产精品一区久久久| 美女毛片在线观看| 国产精品密蕾丝视频下载| 在线91免费看| 免费毛片小视频| 黄色免费在线看| 久久午夜色播影院免费高清 | 国产色99精品9i| 亚洲二区在线观看| 亚洲精品乱码久久久久久蜜桃91| wwwav在线播放| 日韩成人一区二区三区在线观看| 色偷偷91综合久久噜噜| 免费成人深夜夜行p站| 精品国产乱码久久久久久樱花| 欧美色道久久88综合亚洲精品| 日本一区二区三区四区五区六区| 免费国产在线观看| 国产99久久久久久免费看农村| 国产精品成人免费电影| 日本三级免费看| 亚洲视频在线免费| 亚洲最大在线视频| 喷水视频在线观看| 136福利精品导航| 欧美日韩国产123区| 国产超级av在线| 超碰在线资源| 亚洲精品成人精品456| 天天人人精品| 日韩在线视频第一页| 国产精品99精品久久免费| 国产精品普通话| 国产亚洲欧美在线精品| 在线亚洲观看| 97国产一区二区精品久久呦| 五月天丁香激情| 久久久久久久久久久妇女| 国产亚洲欧美视频| 欧美 日韩 国产 成人 在线观看| 秋霞影院一区二区三区| 亚洲精品一区在线观看| 岛国精品一区二区三区| 试看120秒一区二区三区| 欧美一区二区三区四区视频| 激情五月俺来也| 国产精品蜜月aⅴ在线| 色综合久久久久久久久| 国产日产欧美视频| 二区三区不卡| 日韩欧美在线中文字幕| 日本xxxxxxx免费视频| 亚洲天堂一区二区| 欧洲日韩一区二区三区| 我要看一级黄色大片| 日本成人伦理电影| 在线观看免费一区| 无限资源日本好片| 亚洲日本中文| 日韩欧美国产综合| 日本五十肥熟交尾| 亚洲女娇小黑人粗硬| 亚洲精品永久免费精品| 谁有免费的黄色网址| 日本欧美国产| 久久成人免费视频| 妺妺窝人体色www聚色窝仙踪| 亚洲电影av| 国产97色在线| 一级黄在线观看| 国产高清视频一区| 久久综合精品一区| 午夜看片在线免费| 亚洲自拍偷拍麻豆| 日韩a在线播放| 欧美视频第一| 欧美videossexotv100| 黄色片视频免费观看| 精品国产中文字幕第一页| 中文字幕少妇一区二区三区| 久久国产精品国语对白| 亚洲伦理精品| 国产精品视频地址| 亚洲av永久纯肉无码精品动漫| www.亚洲免费av| 亚洲成人自拍| 黄色污污视频在线观看| 色偷偷久久一区二区三区| 日韩av在线中文| 国产丝袜一区| 永久免费毛片在线播放不卡 | 亚洲欧美黄色片| 久久久亚洲精品一区二区三区| 在线不卡日本| 亚洲女同志freevdieo| 欧美日韩一区精品| 你懂的在线观看网站| 日韩一区电影| 97超视频免费观看| 国产免费av电影| 91麻豆免费视频| 艳母动漫在线观看| 国产精品迅雷| 精品国精品国产| 91麻豆精品国产91久久综合| 欧美日韩三级| 国产精品影院在线观看| 日韩欧美亚洲系列| 一区二区三区在线观看欧美| www.色就是色| 色综合久久中文| 久久久精品影院| 日韩综合在线观看| 99热99精品| 欧美人与动牲交xxxxbbbb| jizz亚洲女人高潮大叫| 日韩www在线| 国产一级做a爰片在线看免费| 蜜桃视频第一区免费观看| 精品久久蜜桃| 黄色成人在线网| 91精品国产综合久久精品麻豆 | 一级特黄aa大片| 久久精品无码一区二区三区| 欧美一级视频在线播放| 欧州一区二区三区| 久久激情视频免费观看| 亚洲午夜在线播放| 国产亚洲欧美日韩俺去了| 欧美日韩亚洲一| 免费看久久久| 国外成人免费在线播放| 国产成人av免费看| 亚洲品质自拍视频| 在线观看日本www| 91一区在线| 国产一区二区丝袜| 欧美激情免费| 欧美日本在线一区| 成人欧美一区二区三区黑人一 | 亚洲欧洲精品成人久久奇米网| wwwwww.色| 欧美限制电影| 国产精品一二三视频| 1769在线观看| 欧美日韩一级黄| 中文乱码字幕高清一区二区| 男人的天堂亚洲一区| 亚洲日本精品国产第一区| 欧美中文字幕精在线不卡| 亚洲男人第一网站| 天堂免费在线视频| 国产精品蜜臀av| www.国产福利| 亚洲无线视频| 久久久久网址| 久久精品女人天堂av免费观看| 国产亚洲精品综合一区91| 在线观看毛片视频| 亚洲欧洲国产日本综合| 午夜影院免费版| 日韩一级在线| 日本午夜精品电影| 亚洲国产综合在线观看| 色综合男人天堂| 亚洲色大成网站www| 一道本成人在线| 在线免费看av网站| 成人免费av资源| 欧美少妇性生活视频| 99久久精品费精品国产风间由美| 亚洲最大av网站| 国模精品视频| 中文字幕不卡av| 午夜久久久久久久久久| 五月天精品一区二区三区| 久久久久久久毛片| 国产美女娇喘av呻吟久久| 欧美日韩在线一| 国产精品久久久久久久久久10秀 | 一级淫片免费看| 亚洲国产精品一区二区久久| 精品国产av无码| 国产一区二区三区在线观看精品| 久久久久久人妻一区二区三区| 少妇精品久久久一区二区| 91久久久在线| 在线亚洲人成| 久久综合久中文字幕青草| 天天干天天操av| 欧美日韩国产一二三| 国产一级二级毛片| 中国色在线观看另类| 人妻 丝袜美腿 中文字幕| 欧美96一区二区免费视频| 欧美 日韩 国产精品| 精品国产一区二区三区噜噜噜 | xxav国产精品美女主播| 天天摸天天碰天天爽天天弄| 欧美挠脚心视频网站| 久久国产黄色片| 有坂深雪av一区二区精品| 少妇精品无码一区二区免费视频| 风流少妇一区二区| 久久人人爽av| 新狼窝色av性久久久久久| 日本一本草久p| 第一会所亚洲原创| 精品久久久三级| 北条麻妃在线一区二区免费播放| 国产成人综合久久| 免费高潮视频95在线观看网站| 日韩在线观看免费av| 久久久久久久久亚洲精品| 精品福利一区二区三区免费视频| 国产一区二区三区在线观看| 色悠悠亚洲一区二区| 精品无码人妻一区二区三区品| 国产精品第13页| 亚洲a v网站| 91污片在线观看| 性色av蜜臀av浪潮av老女人| 国产精品中文字幕日韩精品 | 麻豆chinese极品少妇| 国产精品久久网站| 国产伦理片在线观看| 久久亚洲一区二区三区四区| 亚洲av成人无码一二三在线观看| 国产精品99久久久久久有的能看 | 麻豆精品视频在线观看免费| 成人羞羞国产免费网站| 国产亚洲在线| 国产h视频在线播放| 日韩一级欧洲| 日本中文字幕网址| 中文在线一区| 91国视频在线| 亚洲在线日韩| 女人另类性混交zo| 久久精品亚洲| 国产精品乱码久久久久| 国产精品久久国产愉拍| 国产最新免费视频| 野花国产精品入口| 久草青青在线观看| 久久久水蜜桃av免费网站| 黄色国产精品视频| 日韩国产高清在线| 亚洲中文字幕久久精品无码喷水| 丝袜美腿亚洲一区| jizz欧美性11| 国产一二三精品| 亚洲AV成人精品| 不卡av免费在线观看| 欧美 日本 国产| 国产欧美视频一区二区| 三级影片在线观看| 怡红院av一区二区三区| 国产精品美女毛片真酒店| 天天操天天干天天综合网| 69亚洲精品久久久蜜桃小说 | 国产日韩精品一区| 青青草自拍偷拍| 亚洲免费资源在线播放| 九九视频在线免费观看| 欧美日韩在线影院| 中文文字幕一区二区三三| 欧美精品亚洲一区二区在线播放| 国内老熟妇对白hdxxxx| 亚洲丁香久久久| 国产专区在线播放| 久久视频精品在线| 俺来也官网欧美久久精品| 国产ts人妖一区二区三区| 国产精品.xx视频.xxtv| http;//www.99re视频| 伊人久久大香线蕉| av电影一区二区三区| 91久久午夜| 91 在线视频观看| 成人av影院在线| 少妇太紧太爽又黄又硬又爽小说| 亚洲精品第1页| 青青国产在线视频| 欧美成人猛片aaaaaaa| 黄色片免费在线| 久久777国产线看观看精品| 玛雅亚洲电影| 91精品国自产在线观看| 国产探花一区二区| 999久久欧美人妻一区二区| 久久蜜桃资源一区二区老牛| 4438x全国最大成人| 久久精品一区二区三区av| 成年人av电影| 欧美午夜精品一区二区蜜桃| 国精产品一品二品国精品69xx | 国产精品一区二区三区免费视频| 91亚洲精品视频在线观看| 亚洲a∨一区二区三区| 在线看片一区| 久久久精品高清| 久久久www成人免费无遮挡大片| 1024手机在线视频| 欧美午夜精品一区二区蜜桃| 少妇高潮一区二区三区99小说| 色偷偷偷亚洲综合网另类| 中文字幕乱码中文乱码51精品| 川上优av一区二区线观看| av网站在线免费看推荐| 四虎1515hh.com| 精品亚洲aⅴ乱码一区二区三区| 女同性恋一区二区三区| 最新日韩av在线| 国语对白做受69按摩| 亚洲精品动漫100p| 综合图区亚洲| 国产欧美精品日韩精品| 国产精品嫩草影院在线看| 久青草视频在线播放| 国产原创一区二区| a级黄色免费视频| 91久久精品一区二区二区| 亚洲aⅴ乱码精品成人区| 欧美人交a欧美精品| 国产视频一区二| 亚洲精品一品区二品区三品区| 久久久久久久欧美精品| 动漫精品一区二区三区| 一区二区三区中文在线观看| 国产农村妇女毛片精品| 国产一区二区三区中文 | 精品72久久久久中文字幕| 18禁网站免费无遮挡无码中文| 国产成人一区二区精品非洲| 综合五月激情网| 在线播放中文字幕一区| 欧美一区二区三区| 国产日韩欧美电影在线观看| 日韩欧美一区二区三区免费看| 亚洲成人福利在线观看| 国产亚洲欧洲997久久综合| 亚洲精品无码久久久久| 亚洲一区二区久久| 99久久综合国产精品二区| 日韩精品一区二区三区色偷偷 | 97人妻精品一区二区三区动漫| 中文字幕v亚洲ⅴv天堂| 日本国产亚洲| 国产成人精品免费看在线播放| 九九精品视频在线看| 男女性高潮免费网站| 欧美mv和日韩mv的网站| 91九色美女在线视频| 久久99欧美| 久色成人在线| 午夜三级在线观看| 日韩精品一区二区三区蜜臀 | 一级在线免费视频| 国产精品久久久久久久久久免费看| 在线观看国产小视频| 久久91亚洲精品中文字幕奶水| www国产精品| 激情五月开心婷婷| 亚洲国产精品成人综合| 国产绳艺sm调教室论坛| 亚洲97在线观看| 国产亚洲一区二区三区不卡| 日本黄色的视频| 亚洲国产一区二区a毛片| 免费在线视频一级不卡| 国产欧美在线看| 激情久久婷婷| 精品人妻一区二区三区蜜桃视频| 7777精品伊人久久久大香线蕉经典版下载| h网站久久久| 免费日韩av电影| 黄色精品一二区| 97免费在线观看视频| www.日韩系列| 极品国产人妖chinesets亚洲人妖 激情亚洲另类图片区小说区 | 免费裸体美女网站| 亚洲色图欧美偷拍|