CameraX случайно падает с IllegalStateException - PullRequest
0 голосов
/ 17 января 2020

Я использую CameraX API в своем приложении. Я привязал Preview UseCase и ImageAnalysis UseCase к жизненному циклу Activity, например

preview.previewSurfaceProvider = frontFacingCameraPreviewSurface.previewSurfaceProvider
imageAnalysis.setAnalyzer(mainExecutor, myAnalyzer)
cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)

. Приложение работает большую часть времени, но случайно вылетает со следующими журналами

2020-01- 17 11: 24: 47,411 6581-6614 / com.my.app D / Камера: сброс сеанса захвата

2020-01-17 11: 24: 47,411 6581-6614 / com.my.app D / Камера : освобождение сеанса в состоянии CLOSING

2020-01-17 11: 24: 47.413 6581-6955 / com.my.app D / Surface: setPackageUsesOwnResolution () (native) для "n0x8d8e9000" (SurfaceTexture-0- 6581-22): false

2020-01-17 11: 24: 47.477 6581-6594 ​​/ com.my.app I / CameraManagerGlobal: устройство postSingleUpdate: статус идентификатора камеры 1 STATUS_PRESENT

2020 -01-17 11: 24: 47.478 6581-6594 ​​/ com.my.app I / CameraManagerGlobal: устройство postSingleUpdate: идентификатор камеры 1, статус STATUS_PRESENT

2020-01-17 11: 24: 47.480 6581-6614 / com.my.app D / Камера: освобождение сеанса в состоянии ЗАКРЫТИЕ

2020-01-17 11: 24: 47.480 6581-6614 / com.my.app D / Камера: CameraDevic e.onClosed (): 1

2020-01-17 11: 24: 47,486 6581-6614 / com.my.app E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: CameraX-

Process: com.my.app, PID: 6581
java.lang.IllegalStateException
    at androidx.core.util.Preconditions.checkState(Preconditions.java:96)
    at androidx.core.util.Preconditions.checkState(Preconditions.java:108)
    at androidx.camera.camera2.internal.Camera2CameraImpl$StateCallback.onClosed(Camera2CameraImpl.java:1298)
    at androidx.camera.camera2.internal.CameraDeviceStateCallbacks$ComboDeviceStateCallback.onClosed(CameraDeviceStateCallbacks.java:105)
    at android.hardware.camera2.impl.CameraDeviceImpl$5.run(CameraDeviceImpl.java:212)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:214)
    at android.os.HandlerThread.run(HandlerThread.java:65)

Исключение возникает в основном во время запуска действия или закрытия действия. Есть идеи, почему это происходит?

...