Microsoft Lens повышает продуктивность разработчиков с помощью CameraX

Microsoft Lens — это продукт, который упрощает чтение изображений документов и досок. Команда Microsoft Lens была обеспокоена тем, что API-интерфейс Camera1 , API-интерфейс платформы Android, который включает поддержку камер и их функций, работал нестабильно на современных устройствах Android. Они задумались над созданием чего-то нового и решили, что самым быстрым путем разработки будет использование CameraX для получения современных функций телефона с камерой.

Что они сделали

Microsoft решила использовать CameraX для своего набора приложений для повышения производительности, использующих Microsoft Lens. CameraX — это библиотека поддержки Android Jetpack с открытым исходным кодом, которая упрощает разработчикам создание функций камеры в приложениях Android. CameraX интегрируется со всеми инструментами Microsoft Lens, обеспечивая использование высококачественных изображений в избранных приложениях. CameraX также улучшает работу разработчиков, предоставляя более простой API и работает на 94 процентах устройств Android. Перейдя на CameraX, команда Microsoft Lens смогла решить проблемы с производительностью, повысить производительность разработчиков и сократить время выхода на рынок.

Результаты

Команда Microsoft Lens обнаружила, что внедрение библиотеки CameraX сэкономило разработчикам значительное количество времени в результате меньшего количества циклов тестирования и оптимизации. По их оценкам, на интеграцию CameraX у их команды инженеров ушло около четырех месяцев, тогда как на Camera2 ушло бы около шести месяцев.

«С помощью CameraX проще настраивать такие атрибуты, как разрешение, соотношение сторон, поворот изображения, качество съемки и т. д., по сравнению с API-интерфейсами Camera1, что помогло сократить затраты времени и усилий на интеграцию. Внутренняя обработка состояния CameraX (открытие/закрытие камеры), в то время как пользователи переключаются между приложениями, сократила количество строк кода для интеграции, а также помогла разработчикам сосредоточиться на бизнес-логике, а не на сбросе состояния приложения», — сказал Вишал Бхатнагар, главный инженер-программист. в Майкрософт.

Использование CameraX позволило Microsoft улучшить производительность запуска и захвата по сравнению с Camera1. Их производительность на современных устройствах Android увеличилась в 2 раза при запуске и захвате, а на некоторых устройствах производительность выросла даже в 3 раза (хотя это зависит от устройства). Кроме того, включить функцию сканирования ядра оказалось проще, чем предполагалось для Camera2. Что касается фрагментации устройств, CameraX эффективно скрывает варианты реализации Camera2 многих устройств на многих OEM-устройствах.

В настоящее время команда Microsoft интегрирует CameraX в некоторые другие приложения для Android, такие как Office, Teams, OneDrive, Word, Excel, PowerPoint, Microsoft Lens и My Hub. Все эти приложения используют CameraX для функции захвата изображений в таких сценариях, как сканирование документов и извлечение изображения в объект (например, изображение в таблицу, изображение в текст). Команда Microsoft также планирует в ближайшее время внедрить CameraX в Outlook и изучает ее потенциал для других приложений, таких как Kaizala.

Начать

Посетите нашу документацию, чтобы узнать больше о том, как реализовать CameraX в вашем приложении.