Camera API2的回调机制

我们知道,在 Android5.0 以后,Google 逐渐摒弃之前的 Camera api1 架构,换之以 cameraApi2 架构。

之前的 Camera api1 可以处理的拍照情景比较单一,是能够满足当时的用户拍照需求的。随着 sensor 分辨率的不断拉高,4K预览等情景出现,3A优化算法的需求,api2 应运而生。

加入知识星球与更多Camera同学交流
– 星球名称:深入浅出Android Camera
– 星球ID: 17296815

callback 机制是 api2 联系 app 和 framework 层的关键一环。主要涉及两个大类:

  • 第一个是cameraCaptureSesssion它是拍照的回话组。所有的 java 层发起的操作都要经过这个 Session 类。它含有两个回调类:
    • 其一是CaptureCallback ,它的OnResultRecieved 函数会在Framework层的FrameProcessorBase::threadLoop 接受到hal层的新请求时候调用。
    • 其二是StateCallback,描述此时拍照流程处于什么阶段。在创建完回话createCaptureSessionInternal后 ,通知app 发生onConfigured 事件。当向hal层发出request后通知app有OnActive
  • 第二个是CameraDevice类。它只有一个描述camera 设备状态的StateCallback类。当打开camera设备成功后,会通知app一个onOpened事件。

cameraApi2下的callback

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程