Androi Camera架构

2020-02-22  本文已影响0人  叶羽西

框架中CameraService服务

ICameraService定义业务接口,CameraService实现接口。CameraService向系统注册,通过proxy方式向外提供服务支持。

camera服务注册

camera服务获取

注册camera服务

CameraServiceProxy(CameraService)将名为"media.camera.proxy"服务注册到系统。这时camera服务才算服务,可以接收客户端的请求。

获取camera服务

访问时通过CameraServiceProxy::notifyCameraserviceLocked("media.camera")获取之前注册的camera服务。Stub本质是Binder,具有远程输出数据的能力。代码实现可以了解到通过Binder可以实现到远程对象的跳转。

Binder为什么具有远程调用能力?

Binder类基于IBinder接口实现。IBinder是远程对象的基础接口,轻量级远程过程调用机制的核心部分,专为执行进程内和跨进程调用时的高性能而设计。IBinder接口描述了与可远程对象交互的抽象协议。

上一篇下一篇

猜你喜欢

热点阅读