官术网_书友最值得收藏!

1.2 Android簡介

Android一詞的本義是“機器人”,同時也是谷歌于2007年11月5日宣布的基于Linux平臺的開源手機操作系統的名稱,該平臺由操作系統、中間件、用戶界面和應用軟件組成。

1.2.1 Android發展史

2003年10月,Andy Rubin等人創建Android公司,并組建Android團隊。

2005年8月17日,谷歌低調收購了成立僅22個月的高科技企業Android及其團隊。安迪魯賓成為谷歌公司工程部副總裁,繼續負責Android項目。

2007年11月5日,谷歌正式向外界展示了這款名為Android的操作系統,并且在當天谷歌宣布建立一個全球性的聯盟組織,該組織由34家手機制造商、軟件開發商、電信運營商及芯片制造商共同組成。這一聯盟將支持谷歌發布的手機操作系統及應用軟件,將共同開發Android系統的開放源代碼。

2008年

5月28日,Patrick Brady于谷歌I/O大會上提出Android HAL架構圖。

8月18日,Android獲得美國聯邦通信委員會的批準。

9月22日,谷歌正式對外發布第一款Android手機——HTC G1(HTC dream)。

9月23日,谷歌發布Android 1.0。

9月24日,全球業界都表示不看好Android操作系統,并且聲稱最多1年,Android就會被谷歌關閉。

2009年

4月30日,Android 1.5正式發布。

5月10日,HTC G1和HTC G2市場大賣,成為僅次于iPhone的熱門機型。

9月25日,Android 1.6正式發布。

9月29日,HTC Hero G3廣受歡迎,成為全球最受歡迎的機型。

10月28日,Android 2.0智能手機操作系統正式發布。

11月10日,由于Android銷售火熱,Android平臺出現第一個惡意間諜軟件:Mobile Spy。

2010年

1月7日,谷歌發布了旗下第一款自主品牌手機:Nexus one(HTC G5)。

2月3日,Linux內核開發者Greg Kroah-Hartman將Android的驅動程序從Linux內核“狀態樹”上除去。

5月19日,谷歌正式對外發布Android 2.2智能操作系統。

5月20日,谷歌對外正式展示了搭載Android系統的智能電視——Google TV,該電視為全球首臺智能電視。

7月1日,谷歌宣布正式與雅虎、亞馬遜合作,并且在Android上推出了多項Kindle服務和雅虎服務。

7月9日,美國NDP集團調查顯示,Android系統已占據了美國手機市場28%的份額,以及全球17%的市場份額。

8月12日,Android平臺出現第一個木馬病毒:Trojan-SMS.AndroidOS.FakePlayer.a。9月,Android應用數量超過9萬個。

9月21日,谷歌對外公布數據,每日銷售的Android設備用戶數達到20萬臺。

10月26日,谷歌宣布Android達到第一個里程碑——電子市場上Android應用數量達到10萬個。

12月7日,谷歌正式發布Android 2.3操作系統。

2011年

1月,谷歌對外宣布Android Market上的應用數量超過20萬個。

1月,谷歌對外公布數據,每日銷售的Android設備數達到了30萬臺。

2月,美國移動用戶中36%擁有智能手機。當中,48%的智能手機用戶選擇Android智能手機。約32.1%的智能手機用戶選擇了蘋果iPhone。黑莓及其他智能手機占有11.6%的份額。

2月2日,Android 3.0正式發布。

2月3日,谷歌發布了專用于平板電腦的Android 3.0蜂巢系統。

6月,Android在日本的智能手機操作系統市場占有率達到57%。

7月,Android在歐洲的智能手機操作系統市場占有率達到了22.3%。

7月,谷歌對外公布數據,Android每天的新用戶達到55萬人,Android設備用戶總數達1.35億臺。

8月,谷歌收購摩托羅拉移動。

8月,谷歌對外宣布Android Market上的應用數量超過30萬個。

8月2日,Android手機已占據全球智能機市場48%的份額,并在亞太地區市場占據統治地位,終結了Symbian(塞班系統)的霸主地位,躍居全球第一。

8月,Android在韓國的智能手機操作系統市場占有率達到了95%。

8月,Android系統在35個國家市場占有率第一,平均市場占有率達到48%。

8月,Android系統成為亞太地區第一大系統,市場占有率為亞太地區第一。

9月,Android在美國的智能手機操作系統市場占有率達到43%。

10月19日,谷歌正式發布Android 4.0操作系統。

11月,Android Market上提交審核的應用程序數量達到50萬個。

11月初,谷歌對Android Market上的應用程序進行了大清理,據統計,此次共清理了約18萬個應用程序,包括流氓應用、病毒軟件、侵犯版權、低質量和濫竽充數的各種程序,谷歌將這一系列應用刪除后,使得Android市場中的優質應用程序總數到31.5萬個。

11月15日,Android在中國大陸的智能手機操作系統市場占有率達到了58%。

11月20日,谷歌宣布啟動了Android Market應用審核、取締、清掃行為,定期對電子市場上存在的不合格、低質量、違法惡意的應用程序進行清理。

11月18日,美國NPD數據顯示,Android和iOS平臺上的游戲占有率都首度超過任天堂的DS掌機和索尼的PSP掌機,手機游戲玩家也超過了掌機玩家,游戲開發商更傾向于在Android和iOS手機上開發游戲。

11月18日,谷歌報告顯示,通過谷歌服務器激活的Android設備用戶總數已經超過2億臺,每天激活的新設備用戶數超過55萬臺,而這僅僅是通過谷歌服務器激活的用戶設備數。12月9日,谷歌對外宣布,Android Market的累計下載量已經突破100億次,平均每月的下載量為10億次。

12月18日,谷歌移動事業部副總裁Andy Rubin表示,每天激活的Android設備已達到70萬臺。

12月26日,Andy Rubin通過Twitter宣布,圣誕節的前兩天24日和25日,共有370萬臺Android設備被激活。

2012年

1月4日,數據顯示,Android Market上的應用程序數量突破40萬個,每4個月增加10萬個應用程序。

1月5日,數據顯示,在Android Market上登記的Android開發者已經達到了10萬名。1月20日,谷歌報告顯示,通過谷歌服務器激活的Android設備用戶總數已經超過2.5億臺,距離去年11月,在短短2個月時間內全球共賣出5000萬臺Andriod設備,平均每秒鐘就賣出10臺Andriod設備。

2月4日,comScore等數據市場研究機構的數據顯示,Andriod在美國手機市場的占有率達到了47.3%。

2月5日,美國聯邦政府宣布成立專門的Android實驗室進行適用于軍方的Android第三方ROM的定制工作。

2月15日,美國聯邦政府總務署宣布已經采購了2萬臺Android手機供政府人員使用。2月22日,Android在中國大陸的智能手機操作系統市場占有率達到了68.4%。

2月28日,谷歌正式宣布,Android設備每天激活量達到85萬臺,通過谷歌服務器激活的Android設備用戶總數突破3億臺。

2月28日,谷歌官方數據顯示,Android Market上的應用程序數量已經突破45萬個,一年內增加了30萬個。

3月1日,谷歌對外宣布,Android Market的累計下載量已經突破130億次。

3月4日,Android在印度的智能手機操作系統市場占有率達到了34%。

4月4日,Android在美國市場的占有率增長到50.1%。

5月1日,Android在東南亞各國的平均份額達到了49%。

5月31日,Android 4.04更新。

6月2日,Android 4.0系統目前已經有7.1%的(Android系統)用戶。

6月13日,Android在意大利的市場占有率增至47.4%。西班牙增為78.4%,在英國的市場份額增為52.5%,在德國的市場份額增為68.6%,法國增為56%。

6月14日,過去一年,Android手機在歐洲國家的銷量暴增1580%,在歐洲的市場份額達到60%。

6月15日,Android在全球的市場份額達到59%,領先于競爭對手蘋果Mac OSX的23%和微軟Windows Phone的2.2%。

6月28日,北京時間0:30在谷歌I/O大會上發布了Android 4.1 Jellybean系統。7月10日,Android開源項目技術負責人Jean-Baptiste M. Queru在谷歌論壇宣布谷歌發布Android 4.1(果凍豆)系統的源代碼。

7月20日,國際刑事警察組織(國際刑警)宣布推出假貨監察器程序,該程序能幫助國際刑警通過攝像頭獲取貨物編號來監察出入境的貨物是否為假貨,該程序只支持Android系統。

9月12日消息,據國外媒體報道,市場研究公司IHS今天發表報告稱,2013年Android手機累積銷量將達到11億部。

10月30日,Android 4.2沿用“果凍豆”這一名稱,以反映這種最新操作系統與Android 4.1的相似性。

Android 5.0將是下一代Android操作系統,2012谷歌I/O大會在舊金山召開,谷歌宣布推出Android 4.1操作系統,代號為Jelly Bean(果凍豆),并推出了全球首款搭載Android 4.1的Nexus 7平板。而在此之前,Jelly Bean(果凍豆)曾一度被認為是Android 5.0的代號。目前傳言的Android 5.0的代號為Key Lime Pie(酸橙派)。

2013年

谷歌執行董事長埃里克·施密特在一場科技大會上預測:在2013年底前,全球安卓手機使用量將突破10億臺。他介紹說,目前每天激活的Andriod設備已達150萬臺。按當前的發展速度計算,預計6~9個月內Android智能手機全球使用量就會突破10億臺,在一兩年內達到近20億臺。

1.2.2 Android特性

Android號稱是首個為移動終端打造的真正開放和完整的移動平臺,是安全開源免費的操作系統,任何人都可以獲得和使用Android系統。谷歌公司還提供了Android SDK,包括了進行Android應用開發所必需的工具和API接口。

1.Android的特性

● 靈活的應用程序框架,可以隨意重復使用或者替換手機的組件。

● 提供了專為移動設備優化的虛擬機——Dalvik虛擬機。

● 擁有內部集成的瀏覽器——基于開源的WebKit引擎。

● 提供針對手機優化的圖形庫,包括定制的2D圖形庫和基于OpenGL ES 1.0的3D圖形庫。

● 使用集成了輕量級數據庫管理系統SQLite作為結構化的數據存儲。

● 娛樂功能豐富,支持多種媒體格式。

● 支持多種移動電話技術,如GSM、WCDM等。

● 支持USB、藍牙、Wi-Fi等多種數據傳輸。

● 支持攝像頭、GPS、光線傳感器、加速傳感器、溫度傳感器等多種傳感器。

● 提供了豐富的開發工具,其中包括設備模擬器、調試工具、內存及性能分析圖表和Eclipse集成開發環境插件等。

目前Android系統不但應用于智能手機,也在平板電腦市場急速擴張。2011年年初數據顯示,正式上市僅兩年多的操作系統Android已經超越稱霸10年的Symbian系統,并躍居全球最受歡迎的智能手機平臺。

2.Android的優勢

1)開放性

在優勢方面,首先就是Android平臺的開發性,其開發平臺允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以使其擁有更多的開發者,隨著用戶和應用的日益豐富,一個嶄新的平臺也將很快走向成熟。

開發性對于Android的發展而言,有利于積累人氣,這里的人氣包括消費者和廠商,而對于消費者來講,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更多競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。

2)掙脫運營商的束縛

在過去很長的一段時間,特別是在歐美地區,手機應用往往受到運營商的制約,使用什么功能接入什么網絡,幾乎都受到運營商的控制。iPhone上市后,用戶可以更加方便地連接網絡,運營商的制約相應減少。隨著EDGE、HSDPA這些2G至3G移動網絡的逐步過渡和提升,手機隨意接入網絡已不是運營商口中的笑談,當你可以通過手機IM軟件方便地進行即時聊天時,再回想不久前天價的彩信和圖鈴下載業務,是不是像噩夢一樣?

互聯網巨頭谷歌推動的Android終端天生就有網絡特色,將讓用戶離互聯網更近。

3)豐富的硬件選擇

豐富的硬件選擇與Android平臺的開放性相關,由于Android的開放性,眾多的廠商會推出千奇百怪、功能各異的多種產品。功能上的差異和特色,卻不會影響到數據同步、甚至軟件的兼容,好比你從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優秀的軟件帶到iPhone上使用,聯系人等資料更是可以瞬間轉移,是不是非常方便呢?

4)不受任何限制的開發商

Android平臺提供給第三方開發商一個十分寬泛、自由的環境,不會受到各種條條框框的阻擾,可想而知,會有多少新穎別致的軟件誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android的難題之一。

5)無縫結合的谷歌應用

如今叱咤互聯網的谷歌已經走過10年,從搜索巨人到全面的互聯網滲透,谷歌服務如地圖、郵件、搜索等已經成為連接用戶和互聯網的重要紐帶,而Android平臺手機將無縫接合這些優秀的谷歌服務。

3.Android的不足

當然,“金無足赤”,相對于其他一些智能手機操作系統而言,由于進入市場時間不長,作為后起之秀的Android在現階段也存在著以下一些不足。

1)安全和隱私

由于手機與互聯網的緊密聯系,個人隱私很難得到保護。除了上網過程留下的個人足跡,谷歌這個巨人也時刻站在你的身后,洞穿一切,因此,互聯網的深入將會帶來新一輪的隱私危機。

2)首先開賣Android手機的不是最大運營商

眾所周知,T-Mobile在美國紐約發布了Android首款手機G1。但是在北美市場,最大的兩家運營商是AT&T和Verizon,而目前所知取得Android手機銷售權的僅有T-Mobile和Sprint,其中T-Mobile的3G網絡相對于其他三家也要遜色不少,因此,用戶可以購買G1,但能否體驗到最佳的3G網絡服務則要另當別論。

3)運營商仍然能夠影響Android手機

在國內市場,不少用戶對移動定制機不滿,感覺所購的手機像被人涂畫了廣告一般。這樣的情況在國外市場同樣出現。Android手機的另一發售運營商Sprint就在定制機型中內置了其手機商店程序。

4)同類機型用戶減少

不少手機論壇都會有針對某一型號的子論壇,交流某款手機的使用心得,并分享軟件資源。而對于Android平臺手機,由于廠商豐富,產品類型多樣,這樣使用同一款機型的用戶越來越少,缺少統一機型的程序強化。

5)過分依賴開發商,缺少標準配置

在使用PC端的Windows XP系統的時候,都會內置微軟Windows Media Player這樣一個瀏覽器程序,用戶可以選擇更多樣的播放器,如Realplay或暴風影音等。但入手開始使用默認的程序同樣可以應付多樣的需要。在Android平臺中,由于其開放性,軟件更多依賴第三方廠商,例如,Android系統的SDK中就沒有內置音樂播放器,全部依賴第三方開發,缺少了產品的統一性。

1.2.3 Android系統架構

Android系統是以Linux系統為基礎的,谷歌將其按照功能特性劃分為4層,自下而上分別是Linux內核、中間件、應用程序框架和應用程序,如圖1-1所示。

圖1-1 Android系統框架圖

1.應用程序

Android系統內置了一些常用的應用程序,包括Home視圖、聯系人、電話、瀏覽器等。這些應用程序和用戶自己編寫的應用程序是完全并列的,同樣都是采用Java語言編寫的。而且,用戶可以根據需要增加自己的應用程序,或者替換系統自帶的應用程序。

2.應用程序框架

應用程序框架提供了程序開發人員的接口,這是與Android程序員直接相關的部分。開發者可以用它開發應用,其中包括以下幾方面。

● 豐富而又可擴展的視圖(Views):可以用來構建應用程序,它包括列表(lists)、網格(grids)、文本框(text boxes)、按鈕(buttons),甚至可嵌入的Web瀏覽器。

● 內容提供器(Content Providers):使得應用程序可以訪問另一個應用程序的數據(如聯系人數據庫),或者共享它們自己的數據。

● 資源管理器(Resource Manager):提供非代碼資源的訪問,如本地字符串、圖形、布局文件(layoutfiles)。

● 通知管理器(Notification Manager):使得應用程序可以在狀態欄中顯示自定義的提示信息。

● 活動管理器(Activity Manager):用來管理應用程序生命周期并提供常用的導航回退功能。

3.中間件

中間件包括兩部分:核心庫(libraries)和Android運行時環境(Android runtime)。

1)核心庫

核心庫中主要包括一些C/C++核心庫,方便開發者進行應用的開發。

● 系統C庫(libc):專門為基于embedded Linux的設備定制的。

● 媒體庫:支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態圖像文件。編碼格式包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG。

● SurfaceManager:對顯示子系統的管理,并且為多個應用程序提供了2D和3D圖層的無縫融合。

● WebKit/LibWebCore:Web瀏覽引擎,支持Android瀏覽器和一個可嵌入的Web視圖。

● SGL:底層的2D圖形引擎。

● 3D libraries:基于OpenGL ES 1.0 APIs實現的3D引擎。

● FreeType:位圖(bitmap)和矢量(vector)字體顯示。

● SQLite:輕型關系型數據庫引擎。

2)Android運行時環境

● 運行時核心庫:提供了Java庫的大多數功能。

● Dalvik虛擬機:依賴于Linux內核的一些功能,如線程機制和底層內存管理機制。同時虛擬機是基于寄存器的,Dalvik采用簡練、高效的byte code格式運行,它能夠在低資耗和沒有應用相互干擾的情況下并行執行多個應用,每一個Android應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik虛擬機中可執行文件為.dex文件,該格式文件針對小內存使用做了優化。所有的類都經由Java編譯器編譯,然后通過SDK中的“dx”工具轉化成.dex格式由虛擬機執行。

4.Linux內核

Android平臺運行在Linux 2.6之上,其Linux內核部分相當于手機硬件層和軟件層之間的一個抽象層。Android的內核提供了顯示驅動、攝像頭驅動、閃存驅動、鍵盤驅動、Wi-Fi驅動、音頻驅動和電源管理等多項功能。此外,Android為了讓Android程序可以用于商業目的,將Linux系統中受GNU協議約束的部分進行了取代。

1.2.4 Android組件

Android開發有四大組件。

● 活動(Activity):用于表現功能。

● 服務(Service):后臺運行服務,不提供界面呈現。

● 廣播接收器(Broadcast Receiver):用于接收廣播。

● 內容提供商(Content Provider):支持在多個應用中存儲和讀取數據,相當于數據庫。

1.Activity

Activity活動程序是Android系統中最常用,也是最基本的工作組件。直觀上來說,Activity活動程序相當于用戶看到的手機界面。用戶程序的每一個界面即為一個Activity,用戶通過Activity來與應用程序進行交互。Activity通過視圖View顯示用戶,視圖View將用戶的操作信息反饋給Activity來執行,如圖1-2所示。

圖1-2 Activity活動程序

一個Android應用程序可包含一個或多個Activity,每個Activity都是獨立的。一般來說,Android程序在運行時會將其中一個Activity定為第一個顯示的Activity。在程序運行過程中,Activity之間的跳轉是通過Intent激活組件來完成的。Intent激活組件負責完成Activity之間的切換和數據傳遞。

Android四種Activity加載模流程圖如圖1-3所示。

圖1-3 Android四種Activity加載模流程圖

Activity活動程序在Android系統中具有不同的狀態,這些狀態構成了Activity的生命周期。

2.Service

Service是Android系統中的一種組件,與Activity的級別差不多,但是它不能自己運行,只能在后臺運行,并且可以和其他組件進行交互。Service是沒有界面的長生命周期的代碼。Service是一種程序,它可以運行很長時間,但是它卻沒有用戶界面。例如,打開一個音樂播放器的程序,這個時候若想上網,那么打開Android瀏覽器,雖然已經進入了瀏覽器程序,但歌曲播放并沒有停止,而是在后臺繼續一首接一首地播放。其實這個播放就是由播放音樂的Service控制的。當然這個播放音樂的Service也可以停止,例如,當播放列表里的歌曲播放完畢,或者用戶按下了停止音樂播放的快捷鍵等。Service可以在很多場合的應用中使用,例如,播放多媒體的時候用戶啟動了其他Activity,此時程序要在后臺繼續播放;再如,檢測SD卡上文件的變化,或者在后臺記錄用戶地理信息位置的改變,等等。總之,服務是隱藏在后臺的。

開啟Service有兩種方式。

● Context.startService():Service會經歷onCreate→onStart(如果Service還沒有運行,則Android先調用onCreate()然后調用onStart();如果Service已經運行,則只調用onStart(),所以一個Service的onStart方法可能會重復調用多次);若使用stopService則直接調用onDestroy,如果是調用者自己直接退出而沒有調用stopService,則Service會一直在后臺運行。該Service的調用者再啟動起來后可以通過stopService關閉Service。

注意:多次調用 Context.startservice()不會嵌套(即使會有相應的 onStart()方法被調用),所以無論同一個服務被啟動了多少次,一旦調用Context.stopService()或者stopSelf(),它都會被停止。

說明:傳遞給startService()的Intent對象會傳遞給onStart()方法。調用順序為:onCreate →onStart(可多次調用)→onDestroy。

● Context.bindService():Service會經歷onCreate()→onBind(),onBind將返回給客戶端一個IBind接口實例,IBind允許客戶端實施回調服務,比如得到Service運行的狀態或其他操作。這個時候調用者(Context,如Activity)會和Service綁定在一起,Context退出了,Srevice就會調用onUnbind→onDestroyed相應退出。

3.Broadcast Receiver

Broadcast Receiver廣播接收器負責接收Android系統中的廣播通知信息,并做出相應的處理。當Android操作系統或某個應用程序發送廣播時,另外的應用程序可以使用Broadcast Receiver廣播接收器接收這個廣播,并做出相應的處理。從此可看出,廣播可以源自于Android系統,也可以來自于應用程序。

源自于Android系統的廣播包括時區改變、電池電量低、更改語言選項等。來自應用程序的廣播則可以是指定的功能狀態,如數據下載完成后的通知。Android應用程序可以擁有任意數量的廣播接收器。所有的接收器均繼承自Broadcast Receiver基類。

廣播接收器沒有像Activity那樣的可視化用戶界面,但可以采用很多種方式來吸引用戶的注意,如閃爍指示燈、震動、播放聲音等。

Broadcast Receiver廣播接收器需要注冊和注銷。Android提供了兩種方式來注冊廣播接收器,一種是在Android Manifest.xml中定義,另一種是直接在程序代碼中動態設置。注冊好的廣播接收器并不一直在后臺運行,只有相應的Intent才可調用。

在使用時,應用程序首先將需要廣播的信息封裝在Intent中,然后將Intent廣播出去,另一個應用程序則通過IntentFilter對象來過濾所有的Intent。最后,Broadcast Receiver廣播接收器用另一個onReceive()的回調方式來處理接收到的通知。

4.Content Provider

Content Provider是Android提供的第三方應用數據的訪問方案。

在Android中,對數據的保護是很嚴密的,除了放在SD卡中的數據,一個應用所持有的數據庫、文件等內容,都是不允許直接訪問的。Andorid當然不會真地把每個應用都做成一座孤島,它為所有應用都準備了一扇窗,這就是Content Provider。應用想對外提供的數據,可以通過派生Content Provider類,封裝成一枚Content Provider,每個Content Provider都用一個uri作為獨立的標識,形如:content://com.xxxxx。所有東西看著像REST的樣子,但實際上,它比REST更為靈活。和REST類似,uri也可以有兩種類型,一種是帶id的,另一種是列表的。但實現者不需要按照這個模式來做,給你id的uri也可以返回列表類型的數據,只要調用者明白,就無妨,不用苛求所謂的REST。

另外,Content Provider不和REST一樣只有uri可用,還可以接受Projection,Selection,OrderBy等參數,這樣,就可以像數據庫那樣進行投影、選擇和排序。查詢到的結果以Cursor的形式返回,調用者可以移動Cursor來訪問各列的數據。

Content Provider屏蔽了內部數據的存儲細節,向外提供了上述統一的接口模型,這樣的抽象層次大大簡化了上層應用的書寫,也對數據的整合提供了更方便的途徑。Content Provider內部常用數據庫來實現,Android提供了強大的Sqlite支持,但很多時候,你也可以封裝文件或其他混合的數據。

在Android中,Content Resolver是用來發起Content Provider的定位和訪問的。不過它僅提供了同步訪問的Content Provider的接口。但通常,Content Provider需要訪問的可能是數據庫等大數據源,速度上不能足夠快,否則會導致調用線程的擁塞。因此Android提供了一個AsyncQueryHandler,幫助進行異步訪問Content Provider。

在各大組件中,Service和Content Provider都需要持續訪問。Service如果是一個耗時的場景,往往會提供異步訪問的接口,而Content Provider不論效率如何,提供的都是約定的同步訪問接口。

主站蜘蛛池模板: 石台县| 兴化市| 丁青县| 黎川县| 彭州市| 景德镇市| 大邑县| 洪雅县| 呈贡县| 富平县| 永川市| 罗山县| 龙江县| 吉木萨尔县| 长治县| 治多县| 新乡市| 五台县| 丹巴县| 松原市| 安阳县| 饶阳县| 昭平县| 藁城市| 布拖县| 河曲县| 嘉鱼县| 德江县| 佛坪县| 长汀县| 平远县| 田阳县| 南郑县| 吉木萨尔县| 翁源县| 长丰县| 宣恩县| 贵州省| 康乐县| 浙江省| 新昌县|