落後近五年 Android與各廠商開始全面轉向64位運算

事情的起因還得從兩款新機開始說起。前陣子在測評 realme GT2 Pro 和小米 12 Pro 這兩款搭載驍龍8 Gen 1 處理器的新機的時候,注意到它們都開始 “ 排斥 ” 起了 32 位的應用

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

落後近五年 Android與各廠商開始全面轉向64位運算

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

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

落後近五年 Android與各廠商開始全面轉向64位運算

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

落後近五年 Android與各廠商開始全面轉向64位運算

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

落後近五年 Android與各廠商開始全面轉向64位運算

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

落後近五年 Android與各廠商開始全面轉向64位運算

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

這是因為在驍龍8 Gen 1 處理器所擁有的 8 個 CPU 核心中,只有 3 個 2.5GHz 的 A710 大核兼容 32 位應用,其餘 1 個 3.0GHz 的 X2 超大核和 4 個 1.8GHz 的 A510 中核則均不兼容 32 位應用。

落後近五年 Android與各廠商開始全面轉向64位運算

這就導致那些搭載驍龍8 Gen 1 的手機在運行 32 位應用時,只能用到 8 核中的其中 3 個大核,其它 5 核則是處於圍觀吃瓜狀態,根本不參與運算工作。

根據小米和 realme 的說法,如果這個 32 位應用是一個多線程程序,它的性能就會受到可使用核心數的限制,同時也會導致功耗的增加,嚴重一點甚至還會造成應用的閃退、閃屏、音頻異常或者卡頓。

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

落後近五年 Android與各廠商開始全面轉向64位運算

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

差友們看到這裡先別急着罵高通吃飽了撐的沒事找事,把 32 位強制限制在大核上運行的決定不是高通做的,而是比它更上游的處理器設計公司 ARM。

是 ARM 在它去年推出的 Armv9 新架構里,取消了超大核和中核對於 32 位應用的兼容,而驍龍8 Gen 1 CPU 部分使用的架構恰恰就是 Armv9。

落後近五年 Android與各廠商開始全面轉向64位運算

除了驍龍8 Gen 1,天璣 9000 和 Exynos 2200 處理器的 CPU 採用的也是 Armv9 架構,32 位應用到了這兩款處理器上同樣只能用大核運行。

更壞的消息是什麼呢?到 2023 年,不管是大核、中核還是小核,ARM 所有的內核都將只支持 64 位,到那時 32 位應用會變得直接不能用……

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

落後近五年 Android與各廠商開始全面轉向64位運算

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

落後近五年 Android與各廠商開始全面轉向64位運算

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

不過話說回來,ARM 做出的這個決定雖然短期內確實會對 32 位應用在新手機上的使用造成影響,但是從長期來看,這絕對是一件好事。

要知道高通在 2013 年發布的驍龍 410,就已經是一款 64 位的處理器;並且Google在 2014 年發布的 Android 5.0,也已經是一款 64 位的Android系統。

落後近五年 Android與各廠商開始全面轉向64位運算

這代表Android手機從很早開始,無論是在硬件層面還是系統層面都已經是 64 位,運行起 64 位應用完全沒問題。和電腦上的情況一樣,一款應用要在手機上運行,首先需要把數據從硬盤加載到內存方便 CPU 訪問。

落後近五年 Android與各廠商開始全面轉向64位運算

而 32 位和 64 位應用中的 “ 位 ”,指的就是它在這個過程中可供 CPU 尋址的內存空間的大小。相較於 32 位應用最大隻能調用 4G 內存( 2^32 Bytes=4G ),64 位應用最大的優勢就是能調用更大的內存,從而使應用的加載、響應速度變更快。

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

落後近五年 Android與各廠商開始全面轉向64位運算

就算有些應用不需要用到那麼高的性能,為了更好的用戶體驗和後續功能的開發,某些大公司也會未雨綢繆把自家應用儘早的升級到 64 位。小米產品經理說把應用更新到 64 位續航明顯提升 ▼

落後近五年 Android與各廠商開始全面轉向64位運算

也正因為 64 位是大勢所趨,所以早在 2013 年,蘋果就先Android一步在 iPhone 5s 上使用上了 64 位的 A7 處理器,那時候高通第一款 64 位處理器驍龍 410 要到年底才發布。而且它在 2015 年就宣布所有的 iOS 應用都必須支持 64 位,否則就不允許上架到 App Store:

落後近五年 Android與各廠商開始全面轉向64位運算

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

落後近五年 Android與各廠商開始全面轉向64位運算

這時蘋果封閉生態圈的優勢就體現出來了。要麼就聽我的話乖乖開發 64 位應用,要麼就從 iOS 上滾蛋,在蘋果的強勢執行下,現在我們在 iPhone 上用到的所有應用,其實全部已經是 64 位版本。

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

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

落後近五年 Android與各廠商開始全面轉向64位運算

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

落後近五年 Android與各廠商開始全面轉向64位運算

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

落後近五年 Android與各廠商開始全面轉向64位運算

連Google和各大應用商店都這麼不積極,那些製作小應用的個人開發者就更不用說,根本沒動力把 32 位應用升級到 64 位給自己額外增加工作量好吧。畢竟 32 位應用又不是不能用,更何況我開發這些小應用很多時候還是靠愛發電的呢……

俗話說得好有時為了大局着想往往需要有人站出來當大惡人,在這次Android全面擁抱 64 位生態的進程中,扮演惡人角色的或許就是 ARM 吧。

事實上,自 ARM 發布首款支持 64 位的 Armv8 架構以來,已有近十年的時間,期間高通、華為、聯發科基於 Armv8 推出的移動端處理器數不勝數。華為甚至買下了 Armv8 架構的永久授權 ▼

落後近五年 Android與各廠商開始全面轉向64位運算

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

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

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

相關文章:

這代Android機型為什麼特別耗電?聊聊64位應用的問題

(0)
上一篇 2022-02-08 09:49
下一篇 2022-02-08 09:49

相关推荐