Android 四大組件

Activity

Service

Service可以在和多場合的應(yīng)用中使用,比如播放多媒體的時候用戶啟動了其他Activity這個時候程序要在后臺繼續(xù)播放,比如檢測SD卡上文件的變化,再或者在后臺記錄你地理信息位置的改變等等,總是藏在后頭的。

Service是在一段不定的時間運(yùn)行在后臺,不和用戶交互應(yīng)用組件。每個Service必須在manifest中 通過<service>來聲明??梢酝ㄟ^contect.startservice和contect.bindserverice來啟動。

Service和其他的應(yīng)用組件一樣,運(yùn)行在進(jìn)程的主線程中。這就是說如果service需要很多耗時或者阻塞的操作,需要在其子線程中實現(xiàn)。

Broadcast Receiver

BroadcastReceiver 用于異步接收廣播Intent。主要有兩大類,用于接收廣播的:

正常廣播 Normal broadcasts(用 Context.sendBroadcast()發(fā)送)是完全異步的。它們都運(yùn)行在一個未定義的順序,通常是在同一時間。這樣會更有效,但意味著receiver不能包含所要使用的結(jié)果或中止的API。

有序廣播 Ordered broadcasts(用 Context.sendOrderedBroadcast()發(fā)送)每次被發(fā)送到一個receiver。所謂有序,就是每個receiver執(zhí)行后可以傳播到下一個receiver,也可以完全中止傳播--不傳播給其他receiver。 而receiver運(yùn)行的順序可以通過matched intent-filter 里面的android:priority來控制,當(dāng)priority優(yōu)先級相同的時候,Receiver以任意的順序運(yùn)行。

Cotent Provider

ContentProvider(內(nèi)容提供者)是Android中的四大組件之一。主要用于對外共享數(shù)據(jù),也就是通過ContentProvider把應(yīng)用中的數(shù)據(jù)共享給其他應(yīng)用訪問,其他應(yīng)用可以通過ContentProvider對指定應(yīng)用中的數(shù)據(jù)進(jìn)行操作。ContentProvider分為系統(tǒng)的和自定義的,系統(tǒng)的也就是例如聯(lián)系人,圖片等數(shù)據(jù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容