【问题标题】:Why is Camera2 taking picture so slow?为什么Camera2拍照这么慢?
【发布时间】:2023-03-25 18:00:02
【问题描述】:

我正在运行 Google 的 Camera2 示例代码,用于将相机集成到我的应用中。

https://github.com/googlearchive/android-Camera2Basic/blob/master/Application/src/main/java/com/example/android/camera2basic/Camera2BasicFragment.java

代码运行良好,但从用户单击按钮到预览屏幕,一张图片需要 1.1 秒/1100 毫秒(在 Galaxy10+ 上)。

我看到了一些解决方案的建议,例如 切换到 YUV 格式,将其转换为 NV21 并以这种方式显示图像,但将时间降低到 1000 毫秒。

有意义吗?

【问题讨论】:

  • 只是吐痰,在这里,但也许你要等到按下按钮打开相机之后。 openCamera() 调用可能需要一些时间; 1000 毫秒并不奇怪。大多数响应速度较快的应用都已经打开了相机,并且它们正在主动显示预览帧,因此在用户按下快门的那一刻,帧已经在流式传输。
  • 我发现旋转位图和保存图像需要很长时间。但我没有找到任何旋转的解决方案。

标签: android android-camera2


【解决方案1】:

这很可能是在主线程上工作的结果,这是一个简单的解决方案,可以为每个操作添加日志消息,然后找到在什么操作期间看到此消息:

skipped some number of frames application may be doing to much work on its main thread

并将该方法或方法卸载到 ui 线程。

【讨论】:

    猜你喜欢
    • 2015-05-29
    • 1970-01-01
    • 2021-09-03
    • 2016-09-28
    • 2020-02-08
    • 2012-07-17
    • 2011-11-07
    • 2015-08-24
    • 2013-08-06
    相关资源
    最近更新 更多