1.生命周期
Service兩種啟動(dòng)模式:
①startService(): onCreate()->onStartCommand()->onDestory()
②bindService(): onCreate()->onBind()->onUnbind()->onDestory()
當(dāng)多次使用startService啟動(dòng)服務(wù)時(shí),onCreate方法只調(diào)用一次,onStartCommand方法則跟startService一樣靶病,多次調(diào)用.多次使用bindService啟動(dòng)服務(wù)時(shí),只調(diào)用一次onCreate和onBind
2.遠(yuǎn)程服務(wù)(AIDL實(shí)現(xiàn))
服務(wù)器端(Service)
步驟1:新建AIDL文件兔跌,聲明該服務(wù)需要向客戶端提供的接口
步驟2:在Service子類中實(shí)現(xiàn)AIDL中定義的接口方法
步驟3:在AndroidMainfest.xml中注冊(cè)服務(wù)并聲明為遠(yuǎn)程服務(wù)
客戶端(Client)
步驟1:拷貝服務(wù)端的AIDL文件到目錄下
步驟2:使用Stub.asInterface接口獲取服務(wù)器的Binder沃于,根據(jù)需要調(diào)用服務(wù)提供的接口方法
步驟3:通過(guò)Intent指定服務(wù)端的服務(wù)名稱和所在包垄琐,綁定遠(yuǎn)程Service