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,并使用提供的方法调用绑定服务。
推荐阅读
- 宽容谁
- 我要做大厨
- 增长黑客的海盗法则
- 画画吗()
- 2019-02-13——今天谈梦想()
- 远去的风筝
- 三十年后的广场舞大爷
- 叙述作文
- 20190302|20190302 复盘翻盘
- 学无止境,人生还很长