啟動Service的方式有兩種:startService和bindService;
startService:用這種方式啟動的service由于沒有和Activity進行綁定牛曹,所以可以長期在后臺運行帆疟,但不能調(diào)用服務里的方法目代。用這種方式啟動的service的生命周期如下:
onCreate()耕魄、onStartCommand()、onDestroy()溅漾。
第一次啟動后吭露,如果沒有調(diào)用stopService()方法也颤,再次調(diào)用startService()方法,不會重走onCreate(),但是會重走onStartCommand();
bindService:用這種方式啟動的service會和Activity進行綁定碳却,所以不能長期在后天運行队秩,但是能調(diào)用服務里的方法。它的生命周期如下:
onCreate()昼浦、onUnbind()馍资、onDestroy();一個服務可以被多個客戶(一般指Activity)綁定,只有當所有的被綁定的對象都調(diào)用的onUnbind()方法关噪,該service才算銷毀鸟蟹。