4

除了用于显示相机输出的 SurfaceView 之外,我还面临一个问题,即我使用 ImageReader 。我已经像这样添加了 SurfaceView 本身和 ImageReader 的表面(并添加了 ImageReader 侦听器以接收新图像上的事件):

preview.addTarget(_surfaces.get(1)); //ImageReader surface
preview.addTarget(_surfaces.get(0)); //SurfaceView of the layout

但是,如果我删除 ImageReader 应用程序工作正常(相机没有滞后)。但是一旦添加了 ImageReader 表面,我的相机就会落后很多。任何人有任何想法,以使相机运行更流畅?ImageReader 是这样创建的:

reader = ImageReader.newInstance(640, 480, ImageFormat.JPEG, 1);

我想滞后可能是由于图像必须在布局的 SurfaceView 和 ImageReader 本身上渲染两次(?)

4

1 回答 1

7

原来问题出在 ImageReader 的 ImageFormat 上。例如,更改ImageFormat.JPEGImageFormat.YUV_420_888解决了滞后问题。

于 2016-01-01T12:08:43.520 回答