一,概述
通过阅读本篇文件后,你会了解到原生Camera2的从app层到framework,再到camera service层,最后到Hal3层的完整代码架构和代码流程。学习本篇文章后可以对OPen Camera快速上手,并能通过log跟踪来快速分析和定位问题,具体知识点的如下:
1,Camera2在app层摄像头预览的代码调用逻辑。
2,Camera2在framework层中摄像头预览的接口。
3,Camera2在CameraService层摄像头预览的流程。
4,Camera2在Hal层摄像头预览的调用流程。
5,Camera2通过log分析摄像头预览的时间消耗。
6,Camera通过perfetto分析摄像头预览的性能分析。
下面开始进入代码逻辑的分析。
二,Camera2摄像头预览完整框架流程
1)接着从CaptureModule–》onCameraOpened里看预览开启的流程,先看updatePreviewBufferDimension();设置预览窗口大小
–》先调用
Size previewBufferSize = mCamera.pickPreviewSize(mPictureSize, mUI.