简介:本文将介绍高通公司在产品开发和技术展示中使用的流程图预览功能。通过可视化图表,读者可以深入了解技术细节及开发过程。
整个流程总结如下:首先系统注册 CameraService 服务;然后 APP 层调用 Camera.open() 方法;接着 Camera.java 调用 JNI 的 native_setup() 方法;JNI 层进一步调用 android_hardware_Camera_native_setup 函数;HAL 客户端(Camera.cpp)通过 connect 方法与服务端(CameraService.cpp)建立连接,并获得 CameraService 中的 CameraClient 实例。随后,服务端中的 CameraClient 进行初始化并实例化了 Camera Hal 接口 CameraHardwareInterface;最后,CameraHardwareInterface 打开相机驱动,在 QCamera2HWI.cpp 文件中实现了具体功能。
对应的代码层次结构为:App -> framework-java(JNI)-> framework-c++(Camera) -> binder -> framework-c++(CameraService) -> framework-c++(CameraClient) -> (CameraHardwareInterface) -> HAL。