人们的生活正在被更及时、更多彩地记录与分享,智能手机的摄像头甚至能帮助用户深刻解读他们眼前的世界,为他们实时提供翻译等帮助。但您也许不知道,超过 70% 的摄像头使用来自各位开发者们开发的应用,而不是系统原生的摄像头功能。用户们须要更加个性、更具备扩展性的体验,但这也意味着开发者们须要付出极大的心力测试与打磨摄像头功能。html
去年在中国 GDD (谷歌开发者日) 上咱们和不少摄像头应用开发者了解他们的测试工做量,得知为了确保兼容性、响应速度等体验细节,他们甚至会手动在数百种不一样设备上进行测试。ide
CameraX 正是为解决这个痛点而来。它是 Jetpack 内的一套摄像头开发支持库,旨在帮助开发者轻松打造高品质的摄像头体验。其核心功能包括:测试
- 简单易用的生命周期感知 (lifecycle-aware) API,且相比较 camera2 减小了大量模板代码的使用
- 兼容至 Android L (API 21),从而确保一样的代码能在市面上 90% 的设备中运行
- 在支持的设备上,可让开发者经过扩展的形式使用和原生摄像头应用一样的功能 (包括人像、夜间模式,HDR 以及美颜滤镜)
但想要确保如此普遍的设备覆盖面并不是易事,因而咱们打造了自动化的 CameraX 测试实验室,在其中对摄像头功能进行深度测试。另外还使用了 Mobile Harness 对通用摄像头功能进行测试。翻译
- 深度测试包含 50 个 OEM 厂商设备,覆盖约 2 亿日活设备
- 在 Mobile Harness 上测试超过 500 种设备,包括 NBU/Android Go 设备。(NBU = Next Billion Users)
△ CameraX 测试实验室包含 50 个 OEM 厂商设备,覆盖约 2 亿日活设备,自动化执行摄像头功能深度测试
对开发者来讲,简单易用的 API、更少的模板代码和强大的兼容性,意味着更高的开发和测试效率。而丰富的扩展性则意味着开发者能够为用户们带来更多基于摄像头的精彩体验。咱们
以前介绍过的 Camera360 开发团队就已经抢先体验过 CameraX 带来的强大与便捷:
咱们密切关注着最新的技术和 API 进展,CameraX 是咱们获取摄像头 API 的桥梁,让咱们的核心摄像头代码行数减小了三分之二,极大地提高了新产品研发的效率。 —— 李涛,成都品果科技技术总监orm
△ 在 I/O'19 上用 Camera360 现场演示 CameraX 核心功能
咱们看到,Camera360 在一台运行着 Android 6.0 Marshmallow 的设备上便可流畅运行,并且使用到了 CameraX 的三个核心场景: 实时预览、图像分析与拍照。而在开发中,Camera360 也得以减小在设备上的测试量,而且相比较使用 Camera2 时代码行数大幅减小 (约 70%),这也让 Camera360 的 APK 尺寸得以减少。 —— Vinit Modi, Product Manager, Android Camera Platform Teamcdn
在今年的 I/O 开发者大会上,Vinit Modi 也单独用了一整场演讲来详细介绍 CameraX,有兴趣的朋友能够观看完整视频:视频
Android Jetpack:了解摄像头支持库 CameraXhtm
以为视频太长的话,咱们也综合 CameraX 的诞生历程为您整理了一份摘要:blog
- CameraX 基于 20 多个开发团队提供的痛点和需求进行开发。在该支持库诞生之初就已经有数个 Android 顶级开发团队 (包括 Snapchat, Twitter 以及 TikTok 等) 表示会在本身的应用中使用。
- 相比较 iOS,CameraX 有几个 “第一”:
- 第一个实现静态 HDR 照片拍摄 (在 iOS 上,开发者须要自行生成 HDR 图片)
- 第一个实现夜间模式下的静态照片拍摄
△ 经过 CameraX,Android 开发如今就能够轻松实现夜间拍照功能。图中使用设备是三星 S10+
- 在针对入门设备开发的 Google Go 中,其摄像头功能也使用了 CameraX,用来识别摄像头中的文字等内容。在开发速度、兼容性表现优异的同时,APK 的尺寸也十分小巧 (摄像头部分小于 30KB)。
- 三星也已经在三月份宣布再也不支持其私有摄像头 SDK,转而使用 CameraX。(甚至已经在 AOSP 中贡献了代码!)
- 在 I/O 大会的现场就有 4 个 CameraX 的演示体验,提早感觉到其魅力的开发者们纷纷给出好评。
△ YouCam Perfect 支持人像模式和 HDR
更便捷迅速的开发,更普遍的兼容性,以及高度可扩展的强大功能,咱们但愿开发者们亲自体验 CameraX,并在其中融入本身的创意与技术,为用户们带来更多彩的影像体验。
点击这里查看更多开发者成功案例生命周期