Я пытаюсь захватить данные изображения с камеры с помощью API камеры2. В основном я использовал код, взятый из примера android Capture2RAW. Только несколько изображений проходят (то есть вызовы onImageAvailable), прежде чем полностью остановиться. Я попытался захватить с использованием RAW_SENSOR и JPEG форматов разных размеров с теми же результатами. Что я делаю не так?Camera2 ImageReader замораживает повторяющийся запрос захвата
this.mImageReader = ImageReader.newInstance(width, height, ImageFormat.RAW_SENSOR, /*maxImages*/ 1);
Surface surface = this.mImageReader.getSurface();
final List<Surface> surfaces = Arrays.asList(surface);
this.mCamera.createCaptureSession(surfaces, new CameraCaptureSession.StateCallback() {
// Callback methods here
}, null);
CaptureRequest.Builder captureRequestBuilder;
captureRequestBuilder = this.mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
captureRequestBuilder.addTarget(surface);
this.mCaptureRequest = captureRequestBuilder.build();
this.mCaptureSession.setRepeatingRequest(mCaptureRequest, null, null);
Большое спасибо за разъяснения! Мое приложение замерзало после получения 7 кадров. –
Большое спасибо. Этот API обрабатывает память странно. – jokeman