ImageReader使相机滞后

时间:2016-01-01 10:58:56

标签: android android-camera android-camera2

我遇到的问题是我使用的是ImageReader,还有一个用于显示相机输出的SurfaceView。我已经像这样添加了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本身上呈现两次(?)

1 个答案:

答案 0 :(得分:7)

原来问题是ImageReader的ImageFormat。将barTintColor更改为例如nil可解决滞后问题。