愛伊米

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

事情的起因還得從兩款新機開始說起。

前陣子託尼在測評 realme GT2 Pro 和小米 12 Pro 這兩款搭載驍龍8 Gen 1 處理器的新機的時候,

注意到它們都開始 “ 排斥 ” 起了 32 位的應用。

首先是 realme GT2 Pro,每次我從第三方渠道安裝應用,只要系統檢測到它是 32 位,就會在介面彈出 “ 此安裝包為 32 位,不建議安裝 ” 的風險提示:

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

想要繼續安裝這些應用當然可以,但是它們在執行過程中如果出現卡頓或者閃退等問題就別怪手機有 Bug 了,是你安裝的應用是 32 位的緣故~

然後是小米 12 Pro,開啟手機自帶應用商店,你會發現小米在商店首頁專門設定了一個醒目的 “ 64 位應用專區 ”,方便我們直接在裡邊下載 64 位應用:

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

一旦遇到你要下載的應用是 32 位,它就會在頂部彈出 “ 該應用未適配本機 64 位處理器 ” 的提示:

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

同時在應用升級介面,我們還能透過藍色標籤清楚區分這些正在升級的應用是 32 位還是 64 位版本:

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

然而如果換做是驍龍8 Gen 1 之前的機型,比如搭載驍龍 888 的小米 11,就根本沒有對應用的版本做出如此嚴格的區分,更別提在下載或者安裝應用的時候會跳出風險提示了:

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

之所以這兩家手機廠商在新機上要這麼做,其實也是迫於無奈。

這是因為在驍龍8 Gen 1 處理器所擁有的 8 個 CPU 核心中,

只有 3 個 2.5GHz 的

A710 大核相容 32 位應用,其餘 1 個 3.0GHz 的 X2 超大核和 4 個 1.8GHz 的 A510 中核則均不相容 32 位應用。

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

這就導致那些搭載驍龍8 Gen 1 的手機在執行 32 位應用時,

只能用到 8 核中的其中 3 個大核

,其它 5 核則是處於圍觀吃瓜狀態,根本不參與運算工作。

根據小米和 realme 的說法,如果這個 32 位應用是一個多執行緒程式,

它的效能就會受到可使用核心數的限制,同時也會導致功耗的增加,嚴重一點甚至還會造成應用的閃退、閃屏、音訊異常或者卡頓。

很不幸,託尼簡單看了下,發現在我之前下載到手機裡的兩百多個應用裡,有 17。4% 的應用還是 32 位版本,其中不乏中國銀行、美團、浙裡辦、滴滴出行、李跳跳等一些我平時經常會用到的應用:

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

這意味著要是我現在就把手機換成搭載驍龍8 Gen 1 的新機,就要注意這些應用在新機上的相容問題。

差友們看到這裡先別急著罵高通吃飽了撐的沒事找事,

把 32 位強制限制在大核上執行的決定不是高通做的,而是比它更上游的處理器設計公司 ARM。

是 ARM 在它去年推出的 Armv9 新架構裡,取消了超大核和中核對於 32 位應用的相容,

而驍龍8 Gen 1 CPU 部分使用的架構恰恰就是 Armv9。

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

除了驍龍8 Gen 1,天璣 9000 和 Exynos 2200 處理器的 CPU 採用的也是 Armv9 架構,

32 位應用到了這兩款處理器上同樣只能用大核執行。

更壞的訊息是什麼呢?到 2023 年,不管是大核、中核還是小核,

ARM 所有的核心都將只支援 64 位,到那時 32 位應用會變得直接不能用。。。

也正是基於這個原因,廠商們不著急才怪,託尼注意到現在包括華為、vivo 在內的很多廠商都已經開始催開發者趕緊把自家的 32 位應用升級成 64 位:

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

如果最近有差友正在考慮換機,那就可以先在舊手機上下載一個名為 “ LibChecker ” 的軟體來看下自己平時常用的軟體是 32 位版本還是 64 版本。

要是 32 位版本的軟體佔比比較多,那就得衡量下是否值得在這個過渡時期換機。

不過話說回來,ARM 做出的這個決定雖然短期內確實會對 32 位應用在新手機上的使用造成影響,

但是從長期來看,這絕對是一件好事。

要知道高通在 2013 年釋出的驍龍 410,就已經是一款 64 位的處理器;並且谷歌在 2014 年釋出的 Android 5。0,也已經是一款 64 位的安卓系統。

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

這代表安卓手機從很早開始,無論是在硬體層面還是系統層面都已經是 64 位,執行起 64 位應用完全沒問題。

和電腦上的情況一樣,一款應用要在手機上執行,首先需要把資料從硬碟載入到記憶體方便 CPU 訪問。

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

而 32 位和 64 位應用中的 “ 位 ”,指的就是它在這個過程中可供 CPU 定址的記憶體空間的大小。

相較於 32 位應用最大隻能呼叫 4G 記憶體( 2^32 Bytes=4G ),

64 位應用最大的優勢就是能呼叫更大的記憶體,從而使應用的載入、響應速度變更快。

所以我們可以看到那些比較吃效能的應用比如各種大型手遊,早就已經是 64 位版本:

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

就算有些應用不需要用到那麼高的效能,為了更好的使用者體驗和後續功能的開發,某些大公司也會未雨綢繆把自家應用盡早的升級到 64 位。

小米產品經理說

把應用更新到 64 位續航明顯提升 ▼

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

也正因為 64 位是大勢所趨,所以早在 2013 年,蘋果就先安卓一步在 iPhone 5s 上使用上了 64 位的 A7 處理器,那時候高通第一款 64 位處理器驍龍 410 要到年底才釋出。

而且它在 2015 年就宣佈所有的 iOS 應用都必須支援 64 位,否則就不允許上架到 App Store:

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

到了 2017 年,蘋果釋出的 iOS 11 就徹底取消了對 32 位應用的支援,它這麼做的目的就是要逼開發者只開發 64 位應用。

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

這時蘋果封閉生態圈的優勢就體現出來了。

要麼就聽我的話乖乖開發 64 位應用,要麼就從 iOS 上滾蛋,在蘋果的強勢執行下,現在我們在 iPhone 上用到的所有應用,其實全部已經是 64 位版本。

而安卓陣營之所以還有這麼多 32 位應用的存在,要怪就怪谷歌還有各大安卓應用市場太遷就,就是不願意像蘋果那樣狠下心來全面禁止 32 位應用。

谷歌曾經在 2019 年 8 月就要求上架到 Play Store 的應用,除了提供 32 位版本外,還必須提供 64 位版本,然而它卻留了 “ 漏洞 ”,讓開發者可以把 32 位應用輕鬆變成同時相容 32 位與 64 位的版本:

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

到了 2021 年 8 月,谷歌雖然不再允許 64 位裝置下載 32 位應用,但它還是沒有在自家 Android 系統裡下定決心把 32 位應用給直接禁掉,儘管全球只剩 2% 左右的移動裝置是 32 位的。。。

其它應用商店就更不用說,一直都是跟著谷歌屁股跑,小米應用商店、OPPO 軟體商店、vivo 應用商店等幾大商店直到去年才開始大力推 64 位應用:

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

連谷歌和各大應用商店都這麼不積極,那些製作小應用的個人開發者就更不用說,根本沒動力把 32 位應用升級到 64 位給自己額外增加工作量好吧。

畢竟 32 位應用又不是不能用,更何況我開發這些小應用很多時候還是靠愛發電的呢。。。

俗話說得好有時為了大局著想往往需要有人站出來當大惡人,

在這次安卓全面擁抱 64 位生態的程序中,扮演惡人角色的或許就是 ARM 吧。

事實上,自 ARM 釋出首款支援 64 位的 Armv8 架構以來,已有近十年的時間,期間高通、華為、聯發科基於 Armv8 推出的移動端處理器數不勝數。

華為甚至買下了 Armv8 架構的永久授權 ▼

落後近五年,安卓手機在這方面終於要追上 iPhone 了!

估計 ARM 自己也很鬱悶,都過去這麼久了,安卓竟然還沒徹底淘汰 32 位應用。。。

好在就目前廠商們的動作來看,ARM 在新架構中把 32 位應用限制在大核執行的效果可以說是非常明顯,接下來就看那些開發者們的努力了~

文章最後,作為一名多年的安卓老使用者,託尼還是希望那些原本只存在於安卓上的好用軟體可一定要適配 64 位啊,不然就少了個繼續用安卓的理由。

感謝大家的觀看!

撰文

:胖虎

編輯

:面線

美編

:煥妍

圖片、資料來源:

蘋果官網、小米社群

IT 之家、360doc。com、cnBeta

Youtube - RAM解釋-隨機存取儲存器

知乎 - 64 位軟體和 32 位有什麼具體區別?

雷鋒網 - 32位已死,對安卓和蘋果意味著什麼?

極客灣 - 驍龍8 Gen1效能分析:功耗爆炸高!但GPU很強。。。

三易生活- Android 全面擁抱 64 位,這事或許還得靠 ARM

酷客fans - 2022 年才想起來加強推行64位應用,還得是國內安卓

ARM 官網 - Why Arm Is Making All Cortex-A Mobile Cores 64-bit Only