最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

第七章 后臺(tái)服務(wù)(Service)

2018-11-09 23:33 作者:swiss126  | 我要投稿

?參考資料:

《Android應(yīng)用程序開(kāi)發(fā)》ISBN 9787302283164

參考軟件:

Android Studio、Eclipse+ADT、Android SDK、JDK

一、Service簡(jiǎn)介

android中服務(wù)是運(yùn)行在后臺(tái)的東西,級(jí)別與activity差不多。既然說(shuō)service是運(yùn)行在后臺(tái)的服務(wù),那么它就是不可見(jiàn)的,沒(méi)有界面的東西。你可以啟動(dòng)一個(gè)服務(wù)Service來(lái)播放音樂(lè),或者記錄你地理信息位置的改變,或者啟動(dòng)一個(gè)服務(wù)來(lái)運(yùn)行并一直監(jiān)聽(tīng)某種動(dòng)作。

? ? ?Service是Android中實(shí)現(xiàn)程序后臺(tái)運(yùn)行的解決方案,非常適合用于去執(zhí)行哪些不需要和用戶交互而且還要求長(zhǎng)期運(yùn)行的任務(wù)。不能運(yùn)行在一個(gè)獨(dú)立的進(jìn)程當(dāng)中,而是依賴與創(chuàng)建服務(wù)時(shí)所在的應(yīng)用程序進(jìn)程。只能在后臺(tái)運(yùn)行,并且可以和其他組件進(jìn)行交互。

? ? ? Service可以在很多場(chǎng)合使用,比如播放多媒體的時(shí)候用戶啟動(dòng)了其他Activity,此時(shí)要在后臺(tái)繼續(xù)播放;比如檢測(cè)SD卡上文件的變化;比如在后臺(tái)記錄你的地理信息位置的改變等等,總之服務(wù)是藏在后臺(tái)的。

? ? ? ?服務(wù)不會(huì)自動(dòng)開(kāi)啟線程,我們需要在服務(wù)的內(nèi)部手動(dòng)創(chuàng)建子線程,并在這里執(zhí)行具體的任務(wù)。

Service和其他組件一樣,都是運(yùn)行在主線程中,因此不能用它來(lái)做耗時(shí)的請(qǐng)求或者動(dòng)作。你可以在服務(wù)中開(kāi)一一個(gè)線程,在線程中做耗時(shí)動(dòng)作。

□?Service適用于無(wú)需用戶干預(yù),且規(guī)則或長(zhǎng)期運(yùn)行的后臺(tái)功能

□首先,因?yàn)镾ervice沒(méi)有用戶界面,更加有利于降低系統(tǒng)資源的消耗,而且Service比Activity具有更高的優(yōu)先級(jí),因此在系統(tǒng)資源緊張時(shí),Service不會(huì)被Android系統(tǒng)優(yōu)先終止

□?即使Service被系統(tǒng)終止,在系統(tǒng)資源恢復(fù)后Service也將自動(dòng)恢復(fù)運(yùn)行狀態(tài),因此可以認(rèn)為Service是在系統(tǒng)中永久運(yùn)行的組件

Service除了可以實(shí)現(xiàn)后臺(tái)服務(wù)功能,還可以用于進(jìn)程間通信(Inter Process Communication,IPC),解決不同Android應(yīng)用程序進(jìn)程之間的調(diào)用和通訊問(wèn)題

二、Service的種類

按運(yùn)行地點(diǎn)分類:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

其實(shí)remote服務(wù)還是很少見(jiàn)的,并且一般都是系統(tǒng)服務(wù)。?

?

按運(yùn)行類型分類:

前臺(tái)服務(wù)是在做了上述工作之后需要調(diào)用?startForeground(?android 2.0?及其以后版本?)或?setForeground?(android 2.0?以前的版本)使服務(wù)成為前臺(tái)服務(wù)。這樣做的好處在于,當(dāng)服務(wù)被外部強(qiáng)制終止掉的時(shí)候,ONGOING?的?Notification?任然會(huì)移除掉。

?

按使用方式分類:

以上面三種方式啟動(dòng)的服務(wù)其生命周期也有區(qū)別,將在隨后給出。

三、Service生命周期

?

context.startService() ->onCreate()->onStart()->Service running--調(diào)用context.stopService() ->onDestroy()

context.bindService()->onCreate()->onBind()->Servic?e running--調(diào)用>onUnbind() ->?onDestroy()

1.?生命周期常用方法

在Service的生命周期里,常用的有:

·????????4個(gè)手動(dòng)調(diào)用的方法? ? ? ? ? ? ? ? ? ? ? ? ?

?

手動(dòng)調(diào)用方法

?

?

作用

?

?

startService()

?

?

啟動(dòng)服務(wù)

?

?

stopService()

?

?

關(guān)閉服務(wù)

?

?

bindService()

?

?

綁定服務(wù)

?

?

unbindService()

?

?

解綁服務(wù)

?

·????????5個(gè)內(nèi)部自動(dòng)調(diào)用的方法? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?

內(nèi)部自動(dòng)調(diào)用的方法

?

?

作用

?

?

onCreat()

?

?

創(chuàng)建服務(wù)

?

?

onStartCommand()

?

?

開(kāi)始服務(wù)

?

?

onDestroy()

?

?

銷毀服務(wù)

?

?

onBind()

?

?

綁定服務(wù)

?

?

onUnbind()

?

?

解綁服務(wù)

?

2.?生命周期方法具體介紹

主要介紹內(nèi)部調(diào)用方法和外部調(diào)用方法的關(guān)系。

2.1 startService()

·????????作用:?jiǎn)?dòng)Service服務(wù)

·????????手動(dòng)調(diào)用startService()后,自動(dòng)調(diào)用內(nèi)部方法:onCreate()、onStartCommand()

·????????調(diào)用邏輯如下:

調(diào)用邏輯

2.2 stopService()

·????????作用:關(guān)閉Service服務(wù)

·????????手動(dòng)調(diào)用stopService()后,自動(dòng)調(diào)用內(nèi)部方法:onDestory()

·????????調(diào)用的邏輯:

·?????????

調(diào)用邏輯

2.3 bindService()

·????????作用:綁定Service服務(wù)

·????????手動(dòng)調(diào)用bindService()后,自動(dòng)調(diào)用內(nèi)部方法:onCreate()、onBind()

·????????調(diào)用的邏輯:

調(diào)用的邏輯

2.4 unbindService()

·????????作用:解綁Service服務(wù)

·????????手動(dòng)調(diào)用unbindService()后,自動(dòng)調(diào)用內(nèi)部方法:onCreate()、onBind()、onDestory()

·????????調(diào)用的邏輯:

·?????????

調(diào)

調(diào)用的邏輯

3.?常見(jiàn)的生命周期使用

3.1?只使用startService啟動(dòng)服務(wù)的生命周期

startService啟動(dòng)服務(wù)的生命周期

3.2?只使用BindService綁定服務(wù)的生命周期

BindService綁定服務(wù)的生命周期

3.3?同時(shí)使用startService()啟動(dòng)服務(wù)、BindService()綁定服務(wù)的生命周期

Paste_Image.png

3.4?特別注意

·????????startService()和stopService()只能開(kāi)啟和關(guān)閉Service,無(wú)法操作Service;

bindService()和unbindService()可以操作Service

·????????startService開(kāi)啟的Service,調(diào)用者退出后Service仍然存在;

BindService開(kāi)啟的Service,調(diào)用者退出后,Service隨著調(diào)用者銷毀。


第七章 后臺(tái)服務(wù)(Service)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
溆浦县| 马龙县| 邵东县| 铜鼓县| 桃园县| 潮州市| 资溪县| 县级市| 绥中县| 青铜峡市| 昂仁县| 常州市| 昌平区| 栾川县| 洛扎县| 宝坻区| 大同县| 遵义市| 兴文县| 汝阳县| 岑巩县| 子长县| 汨罗市| 惠来县| 中西区| 屏山县| 兰西县| 启东市| 临澧县| 吉林市| 博客| 班戈县| 佛教| 米脂县| 涡阳县| 卢龙县| 勃利县| 凤山市| 麻城市| 鄄城县| 威信县|