android - 使用 camera2 与已弃用的 Camera - 最佳做法是什么?

标签 android camera deprecated camera2

我正在编写一个应用程序,其中相机是必不可少的功能。对此,我想百分百确定以下几个方面:

  1. 如果我使用已弃用的相机:该应用是否仍可在所有 API 上运行 现在?
  2. 如果 1) 为"is":此应用在什么时间点不会运行 不再适用于所有 API(我的应用应涵盖最低 API 17)?
  3. 我在哪里可以找到有关 2) 的最新官方信息,即计划内容和时间?
  4. 说,我现在已经在使用新的 camera2,我的理解是该应用程序会 不能在低于 21 的任何 API 上运行 - 对吗?
  5. 根据我目前获得的信息,我的工作假设是:现在仍在使用已弃用的相机。但是请继续关注 API 的市场份额并尽快开始学习 camera2,以便在未来 2-3 年内将应用程序切换到 camera2。你同意吗?

无论如何,使用设备的摄像头并使其在几乎所有目标设备上运行都非常棘手(因为现在我很高兴掌握了“旧”摄像头......)。因此,我真的很想确定以上几点。非常感谢您的回答。

最佳答案

If I use the deprecated camera: will the app still run on all APIs now?

是的。

At what point in time this app will not run anymore on all APIs (my app shall cover minimum API 17) ?

build 一台时间机器,进入 future ,找出答案,然后让我们其他人知道。

IOW,我们无法预测 Google 是否以及何时会完全停止使用此 API。话虽如此,他们几乎从不停止使用 API。

Where can I find updated official information about 2), i.e. what is planned and by when?

在 Google 找到一份工作,或者选择上述时间机器选项。 Google 没有提前公布计划的习惯,他们的时光机也没有出租。

(虽然 Elon Musk 可能有一辆配备了 Mr. Fusion 的特斯拉,所以你可以联系他......)

I would use the new camera2 already now, my understanding is that the app would not run on any API below 21 - correct?

正确。

NOW still use the the deprecated Camera. But Keep watching market shares of APIs and start learning camera2 soon, in order to be ready to switch the app to camera2 within the next 2-3 years. Do you agree?

不,原因我会在你的下一次报价后澄清。

the use of a device's camera and making it run on virtually all targeted devices is tricky enough

这种棘手的部分原因是设备制造商的相机实现可能被大方地描述为“古怪”。

完全坚持使用旧相机 API 的问题在于,我预计该 API 的质量控制会稳步下降。设备制造商在相机方面的有限资源将主要用于新 API。

因此,我的建议是同时使用这两种 API:尽可能使用 camera2 并在需要时回退到原始 API。诚然,这需要更多的工作。如果您无法完成这项工作,那么您别无选择,只能坚持使用原始相机 API,直到您准备好将 minSdkVersion 设为 21+。

关于android - 使用 camera2 与已弃用的 Camera - 最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32550271/

相关文章:

ios - UIImagePickerController didFinishPickingMediaWithInfo

android - 如何在java中对json对象数组进行排序

android - 如何将搜索栏分成几个部分

android - 从相机捕获后如何旋转图像

java - Android LocationServices.FusedLocationApi 已弃用

java - 处理android中不推荐使用的方法

ios - `UTF16Index()` 或 `UTF16Index.init(encodedOffset:)` 用于 Xcode 8/9 支持

android - Android UI 优化有哪些选项?

android - strings.xml 中的法语措辞

iphone - zbar SDK中如何设置扫描框?