[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。數據

相關文章
相關標籤/搜索