对service服务的探究

1.什么是服务

    Android的四大组件之一,主要功能就是在后台执行长时间运行操作,还有一个就是跨进程通信。现在一般推荐使用Intentservice。


2.启动服务服务方式之一绑定服务(binder机制)

首先创建了一个ServiceConnection的匿名类,在里面重写了onServiceConnected()方法和onServiceDisconnected()方法,这两个方法分别会在Activity与Service建立关联和解除关联的时候调用。在onServiceConnected()方法中,我们又通过向下转型得到了MyBinder的实例,而service通过返回binder的实例绑定服务。

3.跨进程通信(IPC)使用的就是binder机制

Binder机制由四部分构成的(Service Manager、Server、Client和Binder驱动程序)

他们所处的空间不同,Service Manager、Server和Client处于用户空间,Service Manager从字面上来看就是一个管理者(一个守护进程,用来管理Server,并向Client提供查询Server接口的能力),Server和Client就是处于服务端的进程和处于客户端的进程,二者之间就是一个访问与被访问的关系;而Binder处于内核空间,他提供设备文件/dev/binder与用户空间交互,Client、Server和Service Manager通过open和ioctl文件操作函数与Binder驱动程序进行通信。Client和Server正是在Binder驱动和Service Manager提供的基础设施上,进行Client-Server之间的通信。

你可能感兴趣的:(对service服务的探究)