四大组件之一,与Activity级别类似,只是Service没有前台显示,在后台运行。
运行在主线程中
需要在Manifest文件中声明
必须指定Name
只计划自己程序中使用无需指定IntentFilter
Service的存在形式
Started启动:startService()启动Service 一旦启动便会在后台一直运行(即使启动它的程序退出了)
Bind绑定:使用bindService()绑定一个Service,处于Bind状态的Service提供了C/S调用接口,这个接口支持其他程序组件与Service进行交互,一个处于Bind状态的Service只能与其绑定的应用程序一起运行。多个应用程序组件可以绑定到一个Service。当所有的绑定的程序组件都退出绑定后,被绑定的Service才会被销毁。
Service运行在主线程中,耗CPU则需创建新新线程防止无响应。
startService(Intent) 会执行onCreate()以及onStartCommand();
stopService(Intent) 会执行onDestory()
Binder类的子类 getInstance(){}
bindservice(Intent,ServiceConnection,boolean)