之前一直接触的是老的camera架构,这里介绍下最新的架构:
首先看下最新的架构图:
Android 相机架构
应用框架:
应用代码位于应用框架级别,它使用
Camera 2 API
与相机硬件进行交互。在内部,这些代码会调用相应的Binder
接口,以访问与相机互动的原生代码。
AIDL:
与
CameraService
关联的Binder
接口可在frameworks/av/camera/aidl/android/hardware
中找到。生成的代码会调用较低级别的原生代码以获取对实体相机的访问权限,并返回用于在框架级别创建CameraDevice
并最终创建CameraCaptureSession
对象的数据。
原生框架:
此框架位于
frameworks/av/
中,并提供相当于CameraDevice
和CameraCaptureSession
类的原生类。
Binder IPC 接口:
IPC binder 接