對有一定經驗的 Android 玩家來說,在下載 App 這件事情上,Play 商店依然是那個值得排除萬難、能上就上的選擇,沒有之一。坊間還流傳着各種關於「Play 版」應用的傳聞:Play 版應用有 FCM 推送、Play 版應用更省電、Play 版應用沒廣告、Play 版應用有更適合現代設備的 64 位版本……
這種「Play 版更好」的說法究竟是科技圈的都市傳說還是確有其事?為什麼國產應用在 Play 商店中正變得越來越少了?
今天這篇文章,我們從一個對普通用戶而言可能會有點陌生的概念——目標 API 級別入手,希望能為你解答上面所提到的一部分問題。
對 Android 系統而言,同一個系統版本一般都對應了不止一種名稱,比如對消費者而言 Android 12 是 Android 12,或者根據 Google 按照字母表順序命名的習慣叫做 Android S;而如果 2019 年 Google 沒有官宣取消甜品代號命名方式,Android 12 的甜品代號Snow Cone應該也會更加為大眾所熟知。
針對開發者,每個 Android 版本還會被分配到一個唯一的整數標識符,這個整數標識符就是 API 級別。
針對這些不同的命名方式,GitHub 上也有人做了一個清晰明了的網站,有興趣的朋友可以去看看。從網站提供的表格不難看出,和一個甜品代號可以對應多個 Android 版本不同——比如 Android 7.0 和 Android 7.1 都可以叫「牛軋糖」——API 級別和 Android 版本是嚴格對應的。
API 級別 32 只可能對應 Android 12L,Android 12L 的 API 級別也只能是 32。對於市面上運行系統版本千差萬別的 Android 設備而言(你同樣可以在上面那個網站中看到不同 Android 版本的累計用戶占比),API 級別也成為了開發者辨別用戶系統版本和應用運行環境、保證應用兼容性的重要參考。
最低 API 級別:代表了應用可以運行的最低系統版本。如果一款應用的最低 API 級別為 28,那麼這款應用只能保證在 Android 9 及以上系統版本中的兼容性
目標 API 級別:代表了應用被設計用於運行的系統版本。如果一款應用的目標 API 級別為 32,則代表這款應用被設計用於在 Android 12L 中運行,因此也理所當然地支持 Android 12L 引入的新特性