ImageReader делает задержку камеры

Я столкнулся с проблемой, когда я использую 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)

Ваш ответ на вопрос