[Android O] HAL3 之 Open Camera2 流程(零)—— 概览

近期工做上的业务将要从 HAL1 迁移到 HAL3 了,为了早日进入正常业务状态,我得提早把 Camera HAL3 的几个重要流程追踪一遍。架构

按照 HAL1 时候的思路,我打算从 Open Camera,即打开相机的流程开始分析。打开相机的流程就是打通 APP 到相机设备之间的连路的过程,按照 Android 的五层架构从上到下依次打通下行控制路线,并经过部署回调来构建上行的状态、数据路线。 
此次在业务组内部已经有过一些培训,培训中给出了 HAL3 流程的大致框架,不过光是听培训能掌握到的内容少之又少,必需要再花时间根据这些线索去追踪代码,分析具体流程。 
我打算在分析完打开相机流程以后,再把 Start Preview 与 Take Picture,即预览和拍照流程简单分析一轮,争取把 HAL3 的控制流和数据流摸个大概。框架

在业务培训时,有提到过 Camera HAL3 构建连路的过程,其整体框架能够经过下图直观地感觉一下。 
红色虚线是上行路线,黑色虚线则是下行路线。 blog


接下来关于打开相机流程分析的系列文章,都将基于这个整体框架来跟踪代码,分析流程。部署

总的来讲,会分红三大部分来分析:im

从 App 链接到 CameraService;
从 CameraService 链接到 HAL Service;
从 HAL Service 链接到 Camera HAL。数据

相关文章
相关标签/搜索