做网站的尺寸,公司做网站能抵扣进项税吗,网站建设咋打开自己网站主页网址,免费网页代码大全CameraX是一个未捆绑的Android Jetpack库#xff0c;它可以帮助你在Android应用中轻松添加摄像头功能。传统上#xff0c;由于Android设备种类繁多#xff0c;编程模型复杂#xff0c;在Android上构建具有相机功能的应用程序非常困难。现在成千上万的开发者都在使用CameraX…CameraX是一个未捆绑的Android Jetpack库它可以帮助你在Android应用中轻松添加摄像头功能。传统上由于Android设备种类繁多编程模型复杂在Android上构建具有相机功能的应用程序非常困难。现在成千上万的开发者都在使用CameraX许多开发者已经实现了APK大小的缩小业务指标的改善同时也精简了他们的资源使他们的工程师能够专注于构建很酷的新功能。本篇讲述了CameraX如何颠覆现有的相机框架编程模型如何帮助你在Android上扩展你的应用并介绍了自Beta版以来的新功能比如轻松地将ML Kit等智能功能集成到你的应用中。颠覆过去的复杂性我们首先在网上搜索你们所遇到的各种问题并在现场用一些现有的设备进行实验。我们惊讶地了解到你们中的许多人为了让事情顺利进行在不同的制造商、芯片组、甚至是特定的设备上使用了大量的if-else代码块。造成这种行为的原因之一是使用Camera1或Camera2框架API你需要从一组特定设备和操作系统的输入开始以实现所需的输出例如拍摄一张照片。通过设计这需要你提前知道设备配置以帮助你实现目标-当新设备推出时很难扩展你的代码。Camera1/Camera2框架编程模型我们不得不从根本上重新思考编程模型。你们的很多反馈启发我们翻转漏斗从基于用例的方法开始如下图所示。CameraX编程模型通过这种新的方法团队创建了一个非捆绑的库CameraX它对所有主要的Android版本都是不可知的并且可以在超过94%的设备上工作从API 21开始不需要特定设备的if-else块。在CameraX中你首先通过创建一个用例来指定你的目标例如 拍照 与ImageCapture用例。然后CameraX确定操作系统和设备的具体配置以帮助你实现你的目标。今天用例是CameraX体验的基础从Preview、ImageAnalysis和ImageCapture开始。帮助开发者扩大测试规模除了现有的框架API实现和使用的复杂性之外许多开发人员在跨大量Android设备和不同的相机配置的大规模测试他们的应用程序时遇到了困难。我们了解到的是即使是最基本的相机应用你的大量资源也花在了测试一个庞大的设备池上导致了前面提到的特定设备的变通方法。鉴于测试是你整体开发的关键部分这启发我们建立一个专门的CameraX测试实验室以提供跨多个Android设备的测试覆盖。三星Galaxy J1 Ace在光控CameraX测试箱内。今天这个实验室里有90多台安卓设备。两部手机被安装在一个定制的测试箱内箱内有可控的灯光和一个电机用来模拟相机应用的旋转和方向。这90多部设备代表了约4.5亿部活跃的Android设备涵盖了所有的操作系统级别从Marshmallow开始、价格层级我们最低端的手机零售价在100美元以下、芯片组涵盖联发科、高通和Unisoc和制造商完整的设备列表缩小差距在过去的几年里安卓制造商取得了巨大的进步为移动设备带来了高动态范围HDR、模糊虚化和夜景摄影等新功能。然而到目前为止这种功能只能通过手机的本地或系统相机应用程序来实现。CameraX Vendor Extensions(又称扩展功能)填补了这一空白并向所有开发者开放了五种特定厂商的功能。这包括HDR使用制造商的多帧处理功能合并多个帧并提供保留场景高光和低光的图像。夜间使用制造商的低光多帧处理功能在低光条件下提供更有吸引力的图片。自动根据当前的环境光照条件自动确定并提供HDR或夜景图像。虚化提供背景模糊的图像非常适合人物摄影。美颜在图像中启用面部美颜效果。最棒的是当启用Extensions时你不需要特定设备的if-else块--只需编写一次代码它就能在所有支持的设备上工作。您可以通过使用ExtensionsManager.ExtensionsAvailability来检查是否在特定设备上启用了Extensions。如果有扩展功能您可以向用户显示必要的UI元素如果适用并将预览和ImageCapture用例配置为使用扩展功能而不是正常的图像捕获。只需多写几行代码您就可以大幅提高图像质量和整体用户体验。使用CameraX Extensions拍摄的三星S10的HDR关闭左与HDR开启右对比。这些扩展功能适用于三星从S10开始的所有旗舰机、摩托罗拉他们的大部分设备都升级或推出了Android 10、OppoReno Pro 2以及一些使用Unisoc移动处理器的入门级手机。我们很高兴能通过Extensions缩小差距并感谢所有制造商不断扩大具有这些功能的设备数量。Getting to know CameraX Beta目前在Play Store上有数千款应用部署了CameraX涉及汽车、银行、交友、聊天、电子商务、搜索、社交等多个类别。一些发现CameraX有帮助的开发者包括以下几个。Monzo银行使用CameraX a)消除了9000行代码包括UI代码b)将识别图像捕捉和自拍视频录制的掉线率从25%降低到5%左右(案例研究)。YouCam Perfect通过CameraX实现了减少70%的代码行数比Camera2它极大地提高了新产品开发的效率。Ufoto使用CameraX精简了他们的资源使他们的工程师能够专注于开发很酷的新功能。他们还观察到从Camera1迁移到CameraX时有了明显的改善。例如在一些设备上图像捕捉速度提高了10%在一些设备上预览帧率提高了30%。下一步工作我们将不断提高Android系统的设备兼容性和可靠性同时使CameraX更容易使用开发者报告的已修复CameraX问题列表。例如在未来几个月内我们将在CameraX测试实验室中增加更多的设备。我们坚信开发者不应该担心底层相机堆栈或设备的特殊性这样他们就可以专注于开发用户喜欢的很棒的应用程序。有超过2,000名开发者在生产中使用CameraX我们建议你尝试采用和部署CameraX Beta的最新版本。 如果你想亲身体验CameraX请查看我们的教程和官方示例。在您试用CameraX之后我们很乐意听到您看到的改进类型。如果你发现最新版本有任何问题请尽可能在bugreports中提交一个bug我们每周都会进行分流。你也可以给Android CameraX讨论组发邮件提出问题或者在StackOverflow上用 android-camerax 标签发帖。我们最衷心地感谢您我们了不起的开发者、合作伙伴、制造商和CameraX团队成员感谢他们帮助我们塑造和构建CameraX Jetpack库。