Service

【Service】概念:Service是一种可以在后台执行长时间操作而没有用户界面的应用组件。它由其它应用组件启动,运行在主线程。
一:Service和Thread区别
1:Thread是程序执行的最小单元,相对独立,Service依托它所在的主线程。
2:Thread处理,没法拿到它的控制,但是Service创建以后还能对它进行控制。
3:Service的耗时操作需要创建子线程,不然会报ANR异常,长时间不需要销毁的应用(音乐、天气)使用服务。
二:Service启动
1:startservice(),在Activity启动Service之后,服务会一直处于运行状态,就算Activity销毁也没影响,除非主动结束它。不再使用时使用stopservice(intent)
2:bindService(),和第一种方式最大的不同,实现IBinder接口返回Binder实例,声明一个方法,getService给客户端调用,使得客户端可以根据返回的binder拿到Service实例,使得activity调用service的公共方法。
1):创建BindService服务端,继承Service,创建一个实现IBinder接口的实例对象并提供公共方法给客户端调用。
2):从OnBind()回叼方法返回此Binder实例。
3):在客户端中,从onServiceConnected()回调方法接受Binder,并使用提供的方法调用绑定服务。

    推荐阅读