Service 是可以在後台運行而且不提供介面的元件,常用在執行長時間運行的操作,一旦啟動 Service 的話將會持續運行一段時間,就算使用者切換到不同應用程式也不會影響到 Service 的運行,常看到的應用像是在背景播放音樂、上傳下載檔案等。
透過官方提供的圖我們可以發現 Service 有兩種啟動方式,分別為:
當我們在應用程式裡面,透過 startService() 啟動了 Service,那 Service 就會進入 Started 狀態,則可以在後台持續執行,就算是啟動這個 Service 的應用程式被銷毀了也不影響,直到呼叫了 stopService() 或內部呼叫 stopSelf() 才會停止。
如果 Activity 透過 bindService() 綁定 Service 的話,則會進入 Bound 狀態,讓 Activity 綁定 Service,假設今天 Activity 銷毀的話,Service 也會一起終止。
Services overview - Android Developers