I'm using CameraX API in my app. I have bound a Preview UseCase and an ImageAnalysis UseCase to an Activity lifecycle like
preview.previewSurfaceProvider = frontFacingCameraPreviewSurface.previewSurfaceProvider
imageAnalysis.setAnalyzer(mainExecutor, myAnalyzer)
cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)
The app works most of the time but randomly crashes with following logs
2020-01-17 11:24:47.411 6581-6614/com.my.app D/Camera: Resetting Capture Session
2020-01-17 11:24:47.411 6581-6614/com.my.app D/Camera: releasing session in state CLOSING
2020-01-17 11:24:47.413 6581-6955/com.my.app D/Surface: setPackageUsesOwnResolution() (native) for "n0x8d8e9000" (SurfaceTexture-0-6581-22): false
2020-01-17 11:24:47.477 6581-6594/com.my.app I/CameraManagerGlobal: postSingleUpdate device: camera id 1 status STATUS_PRESENT
2020-01-17 11:24:47.478 6581-6594/com.my.app I/CameraManagerGlobal: postSingleUpdate device: camera id 1 status STATUS_PRESENT
2020-01-17 11:24:47.480 6581-6614/com.my.app D/Camera: releasing session in state CLOSING
2020-01-17 11:24:47.480 6581-6614/com.my.app D/Camera: CameraDevice.onClosed(): 1
2020-01-17 11:24:47.486 6581-6614/com.my.app E/AndroidRuntime: FATAL EXCEPTION: 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)
The exception occurs mostly during launching the activity or closing the activity. Any idea why it occurs?