【发布时间】:2020-06-06 15:32:53
【问题描述】:
我正在使用 CameraX
这是我的截图:
mImageCapture = ImageCapture.Builder()
.setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY)
.setTargetAspectRatio(screenAspectRatio)
.build()
ImageCaptureListener:
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)
}
})
当我调用 takePicture 时,应用程序冻结,并且仅在 3-4 秒后调用 onCaptureSuccess
我怎样才能使这个过程更快?
【问题讨论】:
-
我认为您需要致电
image.close()。试试吧,在runOnUiThread之前 -
嘿@Rasul 你有没有发现为什么它很慢。我的意思是我没有文件操作之类的东西,仍然只有 cameraX 需要大约 1.5 秒
-
你好 Rasul Agakishiyev,你找到解决这个问题的方法了吗?可以分享给我或有需要的人吗?
-
我认为在你的情况下旋转位图会导致延迟
标签: android android-camera android-camerax