Service是Android的四大组件之一,下面是服务生命周期的四个回调函数:
- onCreate
- onStartCommand
- onBind
- onDestory
启动服务的方法有:startService,bindService
停止服务的方法:stopService,stopSelf,unbindService
每个 Service只会有一个实例,无论你启动多少次。
服务的一些高级技巧:
- 前台服务:在自定义服务的onCreate方法中构建一个Notification,然后调用startForeground(id,notification)
- IntentService:一个执行完操作以后,自动结束的服务。
public class MyIntentService extends IntentService{
...
protected void onHandleIntent(Intent intent){
//这里的代码都是在一个自动创建的子线程中执行的。
//执行完这段代码,程序会自动执行onDestory自动结束服务,这是为了防止程序员忘记结束服务导致ANR
}
}