Microsoft Lens 利用 CameraX 提高开发者效率

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

他们的做法

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

成果

Microsoft Lens 团队发现,实现 CameraX 库为他们的开发者节省了大量时间,因为测试和优化周期减少了。他们估计,CameraX 的集成工作量约为工程师团队四个月的工作量,而 Camera2 则需要大约六个月。

“与 Camera1 API 相比,使用 CameraX 可以更轻松地配置分辨率、纵横比、图像旋转、捕获质量等属性,这有助于集成工作和时间。CameraX 在用户在应用之间切换时内部处理状态(打开/关闭相机),减少了集成代码行,也有助于提高开发者效率,让他们专注于业务逻辑而不是应用状态重置,”Microsoft 首席软件工程师经理 Vishal Bhatnagar 表示。

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

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

开始使用

请访问我们的文档,了解如何在您的应用中实现 CameraX 的更多信息。