自己的理解形成的下文
概述:
IPC是操作系统提供的一个进程间通信的机制,在Android中,使用的是Binder的IPC机制.
也就是说在Android中,进程间通信是通过Binder机制来的.
Binder是基于liunx内核中的openBinder来实现的,具体不懂,
Binder是android中的跨进程通信,它的模式其实也是C/S模式,它用的是AIDL接口来进行的
我们在JAVA层的应用中,最普遍来说,C其实就是activity,S就是service
下面就简单从概念+例子来试着分析下其运作流程
Service简单理解是一个不能和用户交互的,不能自动启动的,运行在后台的程序.也是Android四大组建之一.
2个进程中的数据只能通过IPC(跨进程通讯)来进行交互了. IPC通讯依赖单一的IBinder接口实现.
下面通过一个例子来说明下:
自定义一个service,该service的功能是:启动一个线程,并自动计数,然后暴露一个接口让client可以去获取目前的计数器的值
一,创建一个service
1.通过aidl先把service的接口写好
创建一个service.很简单,extendsService,完了,重写3个方法:onBind, onCreate , onDestroy就行了
onBind 一般可以通过AIDL来自己定义一个binder,然后在返回回去,如果写null.则返回系统的一个