【发布时间】:2015-03-11 02:37:37
【问题描述】:
我有一个使用表面视图来显示相机预览的 Android 应用程序。
但是,图像抖动,logcat 中出现此警告:
Skipped 61 frames! The application may be doing too much work on its main thread
我很乐意在这里分享我的代码,但该代码由三个类组成:CameraActivity、CameraPreview 类(扩展 SurfaceView)和另一个位于 CameraPreview 之上的自定义视图。
这似乎有很多代码只是扑通一声放在一个stackoverflow问题中,而且由于我不知道要寻找什么来寻找原因,所以我不知道如何缩小范围。
如果有帮助,或者如果有人知道为什么会发生这种情况,我很乐意使用相关代码 sn-ps 编辑问题,我会全力以赴。
【问题讨论】:
-
搜索方法'onPreviewFrame',把里面的代码贴出来。这是您可以从主线程接收帧数据的地方。
-
您是直接将预览发送到SurfaceView,还是您捕获预览然后自己在SurfaceView上渲染?
-
我将预览直接发送到 SurfaceView,这样我可以在捕获之前看到我要捕获的内容
标签: android android-camera surfaceview