Microsoft Lens 使用 CameraX 提升开发者效率

Microsoft Lens 是一款使文档和白板图像更易于阅读的产品。Microsoft Lens 团队担心 Camera1 API(一个包含相机和相机功能支持的 Android 框架 API)在现代 Android 设备上的性能不稳定。他们计划构建新的功能,并确定使用 CameraX 获取现代相机手机功能是最快的开发途径。

他们的做法

微软决定在其使用 Microsoft Lens 的生产力应用套件中使用 CameraX。CameraX 是一个开源的 Android Jetpack 支持库,使开发人员更轻松地在 Android 应用中构建相机功能。CameraX 与 Microsoft Lens 的所有工具集成,以确保在选定的应用中使用高质量的图像。CameraX 还通过提供更简单的 API 改善了开发人员的体验,并且适用于 94% 的 Android 设备。通过切换到 CameraX,Microsoft Lens 团队能够解决其性能问题,提高开发人员的工作效率,并缩短产品上市时间。

结果

Microsoft Lens 团队发现,由于测试和优化周期减少,实施 CameraX 库为其开发人员节省了大量时间。他们估计,CameraX 的集成时间大约需要工程团队 4 个月,而 Camera2 则需要大约 6 个月。

“与 Camera1 API 相比,使用 CameraX 更易于配置分辨率、纵横比、图像旋转、捕获质量等属性,这有助于减少集成工作量和时间。CameraX 在用户在应用之间切换时内部处理状态(打开/关闭相机),从而减少了集成代码行,并帮助开发人员将精力集中在业务逻辑上,而不是应用重置状态,”微软首席软件工程师经理 Vishal Bhatnagar 表示。

与 Camera1 相比,使用 CameraX 使微软获得了更好的启动和捕获性能。他们在现代 Android 设备上的启动和捕获性能提高了 2 倍,某些设备的性能甚至提高了 3 倍(尽管这因设备而异)。此外,与 Camera2 的估计相比,启用核心扫描功能也更容易。在设备碎片化方面,CameraX 有效地隐藏了许多 OEM 设备上许多设备的 Camera2 实现差异。

微软团队目前正在将其余一些 Android 应用(例如 Office、Teams、OneDrive、Word、Excel、PowerPoint、Microsoft Lens 和 My Hub)集成 CameraX。所有这些应用都使用 CameraX 在文档扫描和图像到实体提取(例如图像到表格、图像到文本)等场景中实现图像捕获功能。微软团队还计划在 Outlook 中尽快实施 CameraX,并正在探索其在其他应用(例如 Kaizala)中的潜力。

开始使用

访问我们的文档,了解如何在您的应用中实施 CameraX。