ImageReader führt zu Verzögerung der Kamera

Ich habe ein Problem mit einem ImageReader und einem SurfaceView, mit dem die Ausgabe der Kamera angezeigt wird. Ich habe das SurfaceView selbst und die Oberfläche für den ImageReader folgendermaßen hinzugefügt (und die ImageReader-Listener hinzugefügt, um Ereignisse für neue Bilder zu erhalten):

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

Wenn ich jedoch den ImageReader entferne, funktioniert die Anwendung einwandfrei (keine Verzögerung von der Kamera). Sobald jedoch die ImageReader-Oberfläche hinzugefügt wird, bleibt die Kamera viel zurück. Hat jemand irgendwelche Ideen, um die Kamera flüssiger laufen zu lassen? Der ImageReader wird folgendermaßen erstellt:

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

Ich denke, die Verzögerung könnte daran liegen, dass das Bild zweimal (?) Gerendert werden muss, sowohl in der Oberflächenansicht des Layouts als auch im ImageReader selbst.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage