【问题标题】:What happened to CameraX.unbindAll() method?CameraX.unbindAll() 方法发生了什么?
【发布时间】:2020-08-04 14:39:50
【问题描述】:

我正在尝试遵循我在网络上找到的代码示例(Gabriel TannerRay WenderlichOfficial Introduction),但我通常在第一行就遇到困难:

    CameraX.unbindAll()

编译器抱怨 unbindAll() 是一个未解析的引用 (Kotlin)。 here 的示例代码是唯一不使用它的参考。但所有其他示例代码都有它,包括 Google 自己的视频。

我什至在 Google 的文档中都找不到对这种方法的任何引用。发生了什么?过去几个月的变化是否已经让所有这些激动人心的介绍过时了?

我正在评估 CameraX,看看是否值得我们公司花时间将我们的代码从 Camera2 切换到 CameraX。如果事情变化如此之快,那么未来发生重大代码更改的可能性有多大?

【问题讨论】:

    标签: android android-camerax


    【解决方案1】:

    自去年首次推出以来,CameraX 经历了一些变化,这是正常的,因为它仍处于 Alpha 版本,API 表面在整个 Alpha 版本中都发生了一些变化,但自从进入 Beta 版以来,它的公共 API 已经变得更加稳定。

    回到您的问题,CameraX 中的绑定和解除绑定用例不再通过CameraX 类完成,而是现在使用ProcessCameraProvider.bindToLifecycle() 将一个或多个用例绑定到生命周期完成,@ 987654322@ 解绑一个或多个用例,ProcessCameraProvider.unbindAll() 解绑所有绑定用例。

    您用作参考的教程已过时,即使是去年 google I/O 的视频也已过时,因为其中的代码 sn-ps 引用了 CameraX 的第一个 alpha 版本。但是,您提到的the codelab 的链接几乎是最新的,它是由 Google 维护的官方 CameraX 代码实验室。你也可以看看CameraX的the official documentation,比你参考的教程更新。

    【讨论】:

    • LOL 关于“-几乎-最新”!感谢您的澄清。至少我不会发疯(呃,比任何其他 Android 开发者都疯狂)。
    • codelab 昨天刚刚更新到最新版本,所以它现在实际上是最新的 x)
    猜你喜欢
    • 2023-03-13
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 2013-08-26
    • 2020-07-26
    • 2012-11-02
    相关资源
    最近更新 更多