CameraX 图像拍照慢

Nos*_*mus 6 android android-camera android-camerax

我正在使用 CameraX

这是我的图像捕获:

 mImageCapture = ImageCapture.Builder()
            .setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY)
            .setTargetAspectRatio(screenAspectRatio)
            .build()
Run Code Online (Sandbox Code Playgroud)

图像捕捉监听器:

mImageCapture.takePicture(
                executor!!,
                object : ImageCapture.OnImageCapturedCallback() {


                    override fun onCaptureSuccess(image: ImageProxy) {
                        Log.d("AAAA", "Success")

                            val rotatedBitmap = bitmapHelper.rotateImage(
                                bitmapHelper.imageToBitmap(image = image.image!!),
                                image.imageInfo.rotationDegrees.toFloat()
                            )

                            runOnUiThread {
                                mImageView.setImageBitmap(rotatedBitmap)
                            }

                    }

                    override fun onError(
                        imageCaptureError: Int,
                        message: String,
                        cause: Throwable?
                    ) {
                        2
                        super.onError(imageCaptureError, message, cause)
                    }
                })
Run Code Online (Sandbox Code Playgroud)

当我调用takePicture应用程序冻结时,仅在 3-4 秒后 onCaptureSuccess 调用

我怎样才能使这个过程更快?

小智 1

我正在将此解决方案与stackoverflow中描述的冻结视图解决方案进行比较,第二个解决方案比使用OnImageCapturedCallback. 这是一个如何冻结屏幕并显示ImageProxy使用的示例ImageAnalysis,请查看以下示例github