Service组件
长期运行在后台
类型(不互斥,与实现的回调方法有关
- 启动服务:start service,程序内部,执行单个操作,不与其它组件交互信息
回调方法:
IBinder onBind(Intent intent),调用bindService()时执行
- 绑定服务:bind service,多程序之间,允许与其它组件和服务交换信息。多个组件可以绑定到同一个服务上
回调方法:
int onStartCommand(Intent intent, int flags,int startID),调用startService()时调用
其它回调方法
onCreate():首次创建调用onDestroy():销毁时调用onUnbind():绑定的客户端全部解绑时调用
生命周期

创建与注册
-
自定义继承
Service的类,重写onBind()方法(无论是绑定还是启动服务都要写) -
在AndroidManifest.xml文件中注册Service
在\<application>节点中添加一个
<service android:name=".Service类名"/>标签。
启动与停止
- 在Activity中启动一个Service
- 在Activity中停止一个Service
IntentService
android不允许在主线程进行耗时操作,只能使用新的线程执行。一种实现是使用IntentService,它每次都会使用一个新的工作线程来处理全部启动请求。