解决camera后摄切前摄时间过长

问题现象

后摄切前摄,从点击到出第一帧图时间明显比前摄切后摄长。

问题分析

1,抓取systrace,分析耗时长原因

解决camera后摄切前摄时间过长_第1张图片

systrace上看很明显是后摄flushstream off耗时长,且是长时间sleep状态引发。从这里可以盲推可能process:sleep,互斥锁,wait等操作。

2,sensor_stream_off函数代码分析

解决camera后摄切前摄时间过长_第2张图片

果然存在三处sleep动作,总共休眠了125ms。

3,对比前摄stream off无此sleep操作,到此得出结论,原因是后摄stream off 做了无用休眠125ms操作导致后摄切换前摄耗时增加。

解决方案

移除后摄stream offsleep操作。

抓取systrace确认如下图:

解决camera后摄切前摄时间过长_第3张图片

你可能感兴趣的:(Android,android)