剛纔看到一個ppt,介紹service的兩種啓動方法以及兩者之間的區別。
startService 和 bindService
startService被形容爲我行我素,而bindService被形容爲 不求同日生,但求同日死。
因爲startService啓動的service,service會一直在後臺運行,即使調用者已經死掉。而且如果調用者下一次再起來還可以去調用stopService。
而bindService只會onCreate,這時調用者和service是綁定在一起的關係,如果調用者退出了,service就會調用onUnbind--> 然後 onDestroy 自殺。
下面分別是兩種啓動方法的代碼:
1.Intent intent = new Intent("com.homer.service.musicService");
startService(intent);
2.Intent intent = new Intent("com.homer.bind.bindService");
bindService(intent, sc, Context, BIND_AUTO_CREATE);