本讲是Android Camera性能分析专题的第15讲,我们介绍SwitchCamera性能分析,包括如下内容:
- Switch Camera性能拆解
- 在Camera Native Framework中CloseCamera主要流程
| 资源 | 描述 |
|---|---|
| 在线课程 | 极客笔记在线课程 |
| 知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
| 极客笔记圈 |
Switch Camera性能拆解
在启动Camera流程的基础上增加了close camera流程
| 模块 | 开始点 | 结束点 |
|---|---|---|
| App | 点击Camera Switch Icon | 开始调用disconnect |
| HAL | 开始调用disconnect | 调用disconnect结束 |
| App | 调用disconnect结束 | 开始调用connectDevice |
| HAL | 开始调用connectDevice | 调用connectDevice结束 |
| App | 调用connectDevice结束 | 开始调用endConfigure |
| HAL | 开始调用endConfigure | 调用endConfigure结束 |
| App | 调用endConfigure结束 | 调用submitRequestList |
| HAL | 调用submitRequestList | CameraServer收到第一帧 |
注:有的App在disconnect前会先做flush
在Camera Native Framework中CloseCamera主要流程

| Stage | 主要流程 |
|---|---|
| disconnect | 1.CameraService::cacheDump (Android 12 New for previous open session) 2.CameraDeviceClient::detachDevice CameraHal::flush waitUntilDrained CameraHal::close Release stream buffer 3.CameraService::BasicClient::disconnect finishCameraOps |
极客笔记