Camera APP 层分析之对camera framework 层封装解析 Android4
4 版本的camera 和4
0 版本的设计差距还是很大的,4
0版本以前的camera在是camera 主activity 中直接调用camera hal层的的接口(如android
hardware
camera
open(), android
hardware
camera
setPreviewDisplay(), android
hardware
camera
startPreview()等)与camera device 通信
Android4
4 版本camera app 对camera device 的访问又封装了一次,对camera device 的访问必须经过 camera manager 接口,camera manager 接口定义了 camera 基本操作,这样便于控制和管理 camera device
下图为相关类关系图
CameraManager 接口:提供的访问 camera 设备基本的操作,实 现 类 必 须 调用CameraManager
cameraOpen获 取CameraManager
CameraProxy 接口对象来控制 camera,实现CameraManager 接口的类必须拥有一个独立于主线程的线程来实现对camera 的操作,CameraManager 接口也包装回调函数 2
CameraProxy 接口,封装在CameraManager 接口之内,接收对camera 操作请求,发送消息到 camer handle
所有对camera 的操作都经由改接口,进行异步处理 3
AndroidCameraManagerImpl 类,该类实现了 CameraManager接口,与camera framework 层接口直接通信,起