前面讲完了四大组件中的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