一 :Service的生命周期及启动方式:
1:生命周期:

1:startService;
2:bindService;
下面贴出两种方式启动代码并说明两者的区别:
Started:其他组件调用
startService()方法启动一个Service。一旦启动,Service将一直运行在后台(run in the background indefinitely)即便启动Service的组件已被destroy。通常,一个被start的Service会在后台执行单独的操作,也并不给启动它的组件返回结果。比如说,一个start的Service执行在后台下载或上传一个文件的操作,完成之后,Service应自己停止。Bind:其他组件调用
bindService()方法绑定一个Service。通过绑定方式启动的Service是一个client-server结构,该Service可以与绑定它的组件进行交互。一个bound service仅在有组件与其绑定时才会运行(A bound service runs only as long as another application component is bound to it),多个组件可与一个service绑定,service不再与任何组件绑定时,该service会被destroy。
1:startService:


以上两个截图展示了startService的启动方式以及数据的传递。Service接受参数,以及后续处理。
2:bindService:


以上两个截图介绍了bindservice启动及传递数据。两种启动方式如果在Service有耗时操作,必须开启线程处理,否则会有ANR异常。
两种启动方式下的使用场景:
1;音乐播放器比较适合startService,及时组件销毁,service以及在后台执行,除非手动执行销毁Service;
2;下载文件,bindservice,下载完成,组件销毁,service也随之销毁。
二:IntentService的介绍以及和Service对比:

IntentService与其它线程区别:

以上内容向大家介绍了Service和IntentService的用法及区别;如有不足之处请大家及时指正交流,谢谢大家。(IntentService最好使用startService启动)