人們的生活正在被更及時、更多彩地記錄與分享,智能手機的攝像頭甚至能幫助用戶深刻解讀他們眼前的世界,爲他們實時提供翻譯等幫助。但您也許不知道,超過 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,並在其中融入本身的創意與技術,爲用戶們帶來更多彩的影像體驗。
點擊這裏查看更多開發者成功案例生命週期