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 的更多信息。