
和你一起终身学习,这里是程序员Android
经典好文推荐,通过阅读本文,您将收获以下知识点:
一、Systrace 拆解概览
二、Systrace 阶段拆解详解
一、Systrace 拆解概览
MTK Camera 照片切换视频trace 拆解(非切换摄像头类)
| 照片切换视频 | 模块 | trace 关键字 |
|---|---|---|
| S0 | Camera APP | deliverInputEvent ⇒ abortCaptures/CameraHal::flush 开始 |
| S1 | Camera HAL | abortCaptures/CameraHal::flush |
| S2 | Camera APP | abortCaptures/CameraHal::flush 结束 ⇒ CameraHal::configureStreams start |
| S3 | Camera HAL | CameraHal::configureStreams |
| S4 | Camera APP | CameraHal::configureStreams end ⇒ setRepeatingRequest start |
| S5 | Camera HAL | setRepeatingRequest start ⇒ first full buffer |
| S6 | Camera APP、SF | first full buffer ⇒ 第一帧显示(onPreviewOk) |
二、Systrace 阶段拆解详解
2.1 点击照片模式切换视频模式
S0 deliverInputEvent ⇒ abortCapture/CameraHal::flush 开始
Camera 响应点击事件开始abortCapture
Camera 响应点击事件开始abortCapture
Systrace 关键字:
Camera app 点击照片切换视频模式响应:deliverInputEvent
Camera app 下发停止预览请求:abortCaptures
Camera FWK 响应abortcapture 的处理: flush 、CameraHal::flush
S1 abortCaptures/CameraHal::flush
CameraHAL 响应flush的流程
CameraHAL 响应flush的流程
StreamingNode flush
Systrace 关键字:
StreamingNode::flush
P2_Dispatch:notifyFlush()
P2_Streaming:notifyFlush()
P2_Dispatch:waitFlush()
P2_Streaming:waitFlush()

最低0.47元/天 解锁文章
3423

被折叠的 条评论
为什么被折叠?



