Service
1 .個人對Service的理解:
在最底層的一個透明activity淀弹,看不到摸不著的一個activity债鸡,而且還是主線程捌木,一般來說用來操作一些耗時的任務(wù)亏娜,或者是執(zhí)行長期運(yùn)行的任務(wù)(需要開啟副線程焕窝,下載任務(wù),邊播邊緩存等)维贺。
2.Service的兩種啟動方式:
startService:
這種啟動方式會一直在后臺運(yùn)行它掂,直到你手動結(jié)束它stopService。(個人一般用這種來做下載任務(wù))溯泣。bindService:
這種模式會隨開啟的這個服務(wù)的調(diào)用者的消亡而消亡虐秋。(比如在視頻觀看頁面邊播邊緩存的任務(wù),結(jié)束觀看這個任務(wù)也就不需要了垃沦,當(dāng)然也可以手動調(diào)用結(jié)束unbindService)客给。
3.Service的生命周期
4.Service和Activity是如何通信的
- startService:
(1)不管服務(wù)是否啟動,只要activity調(diào)用startService肢簿,service都可以在onStartCommand(Intent intent .....)方法中接收傳參等。
(2)service通知Activity則需要用到廣播或者別的方法(彈個通知欄译仗?)。 - bindService:
(1)通過IBinder進(jìn)行通信官觅,實現(xiàn)android.os.Binder類纵菌,并且定義一個方法,然后我們通過onBind()方法將其對象返回Activity休涤。(用于監(jiān)聽service的進(jìn)度或情況)
(2)廣播咱圆。