service的一些基礎知識

service的啟動方式有兩種:
startService():生命周期 startService()---onCreate()---onStartConmom()---onDestroy();
這種方式啟動的話捂敌,需要注意一下幾個問題:
1.:當我們通過startService被調(diào)用以后挚歧,多次在調(diào)用startService(),onCreate()方法也只會被調(diào)用一次穗泵,而onStartConmon()
會被多次調(diào)用當我們調(diào)用stopService()的時候坊秸,onDestroy()就會被調(diào)用,從而銷毀服務选脊。
2.當我們通過 startService啟動時候杭抠,通過intent傳值,在onStartConmon()方法中獲取值的時候恳啥,一定要先判斷intent是否為 null偏灿。
bindService():生命周期 bindService()---onCreate()---onBind()---unBind()---onDestroy();
bindService()這種方式進行啟動service好處是更加便利activity中操作service,比如加入service中有幾個方法钝的,a,b 翁垂,如果要在
activity中調(diào)用,在需要在activity獲取ServiceConnection對象硝桩,通過ServiceConnection來獲取service中內(nèi)部類的類對象沿猜,然后通過這個類對象就可以調(diào)用類中的方法,當然這個類需要繼承Binder對象碗脊。
`private MyBindService service;

private ServiceConnection conn = new ServiceConnection() {
    @Override
    public void onServiceConnected(ComponentName name, IBinder binder) {
        MyBindService.MyBinder myBinder = (MyBindService.MyBinder) binder;
        service = myBinder.getService();
    }

    @Override
    public void onServiceDisconnected(ComponentName name) {
        Log.i("Kathy", "ActivityA - onServiceDisconnected");
    }
};`

下面代碼是service的類部類
public class MyBinder extends Binder { public MyBindService getService() { return MyBindService.this; } }
bindService的特點
(1)每次調(diào)用服務必須首先bindService啼肩,執(zhí)行unbindService后不能調(diào)用;
(2)服務的生命周期受限于UI線程衙伶。一旦應用(Activity)終止祈坠,服務將onDestory銷毀;
(3)可以在綁定后調(diào)用服務里的功能矢劲。

混合調(diào)用(須按順序操作):
(1)首先在主界面創(chuàng)建時颁虐,startService(intent)啟動方式開啟服務,保證服務長期后臺運行卧须;
(2)然后調(diào)用服務時,bindService(intent, connection, BIND_AUTO_CREATE)綁定方式綁定服務,這樣可
以調(diào)用服務的方法花嘶;
(3)調(diào)用服務功能結(jié)束后笋籽,unbindService(connection)解除綁定服務,置空中介對象椭员;
(4)最后不再需要服務時车海,stopService(intent)終止服務。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末隘击,一起剝皮案震驚了整個濱河市侍芝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌埋同,老刑警劉巖州叠,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異凶赁,居然都是意外死亡咧栗,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門虱肄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來致板,“玉大人,你說我怎么就攤上這事咏窿≌寤颍” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵集嵌,是天一觀的道長萝挤。 經(jīng)常有香客問我,道長纸淮,這世上最難降的妖魔是什么平斩? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮咽块,結(jié)果婚禮上绘面,老公的妹妹穿的比我還像新娘。我一直安慰自己侈沪,他們只是感情好揭璃,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著亭罪,像睡著了一般瘦馍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上应役,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天情组,我揣著相機與錄音燥筷,去河邊找鬼。 笑死院崇,一個胖子當著我的面吹牛肆氓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播底瓣,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼谢揪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了捐凭?” 一聲冷哼從身側(cè)響起拨扶,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎茁肠,沒想到半個月后患民,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡官套,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年酒奶,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奶赔。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡惋嚎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出站刑,到底是詐尸還是另有隱情另伍,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布绞旅,位于F島的核電站摆尝,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏因悲。R本人自食惡果不足惜堕汞,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望晃琳。 院中可真熱鬧讯检,春花似錦、人聲如沸卫旱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽顾翼。三九已至投放,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間适贸,已是汗流浹背灸芳。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工涝桅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人耗绿。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓苹支,卻偏偏與公主長得像,于是被迫代替她去往敵國和親误阻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.什么是Activity?問的不太多,說點有深度的 四大組件之一,一般的,一個用戶交互界面對應一個activit...
    JoonyLee閱讀 5,736評論 2 51
  • 【Android Service】 Service 簡介(★★★) 很多情況下儒洛,一些與用戶很少需要產(chǎn)生交互的應用程...
    Rtia閱讀 3,156評論 1 21
  • 0.Android手機操作系統(tǒng)的四層架構? Applications , Application Framewor...
    lucas777閱讀 7,849評論 0 16
  • 2.1 Activity 2.1.1 Activity的生命周期全面分析 典型情況下的生命周期:在用戶參與的情況下...
    AndroidMaster閱讀 3,044評論 0 8
  • 自從奶奶患上了老年癡呆癥后精耐,總是忘記方才做過的事情 “媽,我們已經(jīng)吃過飯了琅锻!”父親走進廚房卦停,見奶奶正拿刀切土豆,無...
    白妘泠閱讀 382評論 5 6