1:什么是service?
答:1):service属于android的四大组件之一;
2):一种可以在后台长时间运行,并且不提供任何用户接口的应用组件;
3): service彼此独立;
4): 可以与其他非service组件绑定并交互;
5): 也可以与多线程交互(IPC);
2 : service的两种形式?
答: 启动形式:
1): 使用:启动形式的service的一般被应用组件启动;
2):作用:启动形式的service一般只执行单一的操作而不会返回结果给调用者;
3):生命周期:启动形式的service的生命周期和启动它的组件不一致,是自己的任务完成了,就会自动销毁, 没有完成自动完成,直到完成了,才销毁;
绑定形式:
1):使用:绑定形式的service主要是指应用组件通过调用bindService()方法来绑定service。
多个组件可以一次性绑定到service,但是当这些组件的绑定都取消了,这个service也就销毁了;
2):作用:绑定形式的Service会提供一个与应用组件交互的客户端--服务的接口。通过这个接口,应用组件可以像service发送请求,获取结果,甚至还能跨进程通信(IPC)。
3):生命周期:绑定形式的service的生命周期与绑定他的应用组件一致。
3:如何创建不同形式的service?
答:1):创建启动形式的Service:也会有两种方式: 一种是继承Service类:
第二种是继承IntentService类:使用队列的形式将请求的Intent加入队列;
继承IntentService类实现启动形式的Service.png
2):创建绑定形式的servcie
创建绑定形式的Service.png
与启动形式的Service区别: 就是onBind方法中返回了一个mIBinder对象;
4: service的生命周期?
不同形式的Service的生命周期.png
网友评论