ImageReader使相机滞后

Ara*_*raw 4 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
Run Code Online (Sandbox Code Playgroud)

但是,如果我删除ImageReader,应用程序工作正常(没有滞后于相机).但是一旦ImageReader表面被添加,相机就会滞后很多.任何人都有任何想法,以使相机运行更顺畅?ImageReader的创建方式如下:

reader = ImageReader.newInstance(640, 480, ImageFormat.JPEG, 1);
Run Code Online (Sandbox Code Playgroud)

我猜测滞后可能是因为图像必须在布局的SurfaceView和ImageReader本身上呈现两次(?)

Ara*_*raw 7

事实证明问题是ImageReader的ImageFormat.更改ImageFormat.JPEG为例如ImageFormat.YUV_420_888修复了滞后问题.