四大组件
Activity ContentProvider BroadcastReceiver Service
一
Service是四大组件之一,和Activity非常相似,一般运行在后台,没有用户界面,是一个可执行的程序
二
Service和Activity的区别
不同点:
Service:后台运行,没有界面
Activity:可以和用户交互,页面可见
相同点:
注册方式都是在清单文件中注册,他们都有自己的生命周期
三:
Service和Activity的选择标准
当系统获取数据时,需要和用户交互,并且展示给用户,则使用Activity
当获取数据的过程不展示给用户,只是把数据的结果返回,则使用Service
四
Service的用途
1.播放音频
2.用于记录当前的地理位置
3.下载大文件
五
API文档中:
1.Service不是一个单独的进程,除非另有规定,否则与应用程序运行在同一个进程
2.Service不是一个单独的线程,默认情况在都运行在主线程
六
服务的分类
1.本地服务
在应用程序的内部
启动方式
1.Context.startService
2.Context.bindService
2.远程服务
android系统之内的应用程序之间,进行数据的传递
七
IntentService和Service的区别
Service中不能进行耗时的操作,因为是在主线程中运行的,如果想执行耗时的操作,则必须在onStartCommand()开启一个工作线程
IntentService 是Service的子类,需要提供方法onHandleIntent(),在此方法中可以进行耗时操作, 不会阻塞