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。