前面講完了四大組件中的Activity,這裏在講解一下另外一個重要的的組件Service。Service常見的場景能夠應用於後臺應用的下載,或者是後臺的輪詢操做。後臺執行一些耗時的操做。測試
這裏進行測試this
經過startService方式啓動日誌
public void start(View view) { Intent intent = new Intent(SecondActivity.this, FirstService.class); startService(intent); } public void stop(View view) { Intent intent = new Intent(SecondActivity.this, FirstService.class); stopService(intent); }
首次啓動servicecode
04-25 21:55:17.525 1263-1263/com.isdust.zor.view_learn D/FirstService: onCreate 04-25 21:55:17.525 1263-1263/com.isdust.zor.view_learn D/FirstService: onStartCommand
從日誌中能夠看出,當start依次調用了oncreate和onStartCommand對象
第二次啓動service
`04-25 22:00:34.075 1263-1263/com.isdust.zor.view_learn D/FirstService: onStartCommand生命週期
`
這裏能夠視爲兩次啓動了service,看一下stopservice的狀況 04-25 22:04:37.325 1263-1263/com.isdust.zor.view_learn D/FirstService: onDestroy
能夠看到只調用了依次destory,所以,能夠明確的看出service不會生成屢次
這種狀況下,service和activity沒有必然的聯繫。當activitydestroy後,service依然運行。it
bindservice時class
04-25 22:10:43.005 1263-1263/com.isdust.zor.view_learn D/FirstService: onCreate 04-25 22:10:43.005 1263-1263/com.isdust.zor.view_learn D/FirstService: onBind
能夠看到首次bind時,只是調用了onCreate和onBind後臺
unbindService時service
04-25 22:20:43.565 1929-1929/com.isdust.zor.view_learn D/FirstService: onUnbind 04-25 22:20:43.565 1929-1929/com.isdust.zor.view_learn D/FirstService: onDestroy
能夠看到,依次調用了onUnbind和onDestroy