gpt4 book ai didi

android - CameraX 相机加载速度慢

转载 作者:太空狗 更新时间:2023-10-29 12:59:13 30 4
gpt4 key购买 nike

因此,我从使用传统相机 API 迁移到 CameraX,尽管它的设置非常简单,但我注意到了一个问题。现在相机似乎比以前花费了几乎两倍甚至更长的时间来开始显示预览。我正在测试 galaxy s7。我的代码如下所示:

val previewConfig = PreviewConfig.Builder().apply {
setTargetAspectRatio(Rational(1, 1))
setTargetResolution(Size(binding.codeScannerView.width, binding.codeScannerView.height))
}.build()

val preview = Preview(previewConfig)

preview.setOnPreviewOutputUpdateListener { preview ->
val parent = binding.codeScannerView.parent as ViewGroup
parent.removeView(binding.codeScannerView)
parent.addView(binding.codeScannerView, 0)
binding.codeScannerView.surfaceTexture = preview.surfaceTexture
}

val analyzerConfig = ImageAnalysisConfig.Builder().apply {
val analyzerThread = HandlerThread(
"QrCodeReader").apply { start() }
setCallbackHandler(Handler(analyzerThread.looper))
setImageReaderMode(
ImageAnalysis.ImageReaderMode.ACQUIRE_LATEST_IMAGE)
}.build()

val analyzerUseCase = ImageAnalysis(analyzerConfig).apply {
analyzer = QrCodeAnalyzer(requireContext(), Handler(), { qrCode ->
if (activity == null) {
return@QrCodeAnalyzer
}
presenter.disableCameraPreview()
presenter.updateTable(qrCode.toLowerCase().parseTableId(), isFromOrder, Screens.MENU_SCREEN)
})
}

CameraX.bindToLifecycle(this, preview, analyzerUseCase)

关于如何让它看起来更快的任何想法?

P. S. 我偶尔也能看到预览撕裂

最佳答案

所以我花了很多时间试图找到解决方案,但无济于事。我什至遇到了多个问题(使用 alpha04),例如:

  • 打开/关闭相机时随机 SIGSEGV 崩溃
  • 我尝试了来自谷歌的示例项目和代码实验室,它们在测试设备上也没有 100% 的时间运行
  • 在某个时候我收到通知相机在后台使用,即使它被绑定(bind)到生命周期和窗口关闭,这是我最不希望我的用户做的事看看。
  • 相机确实加载速度较慢,即使关闭分析器,我的 FPS 也很糟糕。
  • 分辨率会降到最低,预览会在某些设备上像素化
  • 每隔一段时间预览就会开始垂直撕裂
  • 分析器框架的大小与预览不同,并且存在一些纵横比问题,需要花费相当长的时间才能解决。
  • 它仍然需要相当多的样板文件才能工作
  • 边缘情况的文档几乎不存在,因此大部分内容都是反复试验。

最后我开始寻找其他图书馆并找到了 https://github.com/natario1/CameraView这是迄今为止我见过的最容易使用的相机库。比 camerax 简单得多,它似乎可以正常工作,加载速度更快,即使分析器步骤在后台运行,也能以高 2 到 3 倍的 FPS 渲染预览。到目前为止,我对此没有任何问题。

即使我坚信,我在使用 CameraX 时遗漏了一些东西,并且可能有一种方法可以让它工作,但最终它现在似乎不值得,我可能会等到有一个生产就绪版本,直到我再试一次。

关于android - CameraX 相机加载速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57472154/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com