對(duì)于許多幫其他人安裝過(guò)Windows系統(tǒng)的朋友來(lái)說(shuō),或許都會(huì)先問(wèn)一下是要32位還是64位的。而之所以會(huì)問(wèn)這樣的一個(gè)問(wèn)題,是因?yàn)楸藭r(shí)硬件發(fā)展的限制,一些市場(chǎng)定位相對(duì)較低的配置基本與64位無(wú)緣。但如果說(shuō)Windows的32位是時(shí)代的眼淚,那么安卓的32位無(wú)疑就是谷歌的放縱了。畢竟誰(shuí)能想到,到了2022年、在智能手機(jī)已經(jīng)進(jìn)入多核時(shí)代多年后,32位應(yīng)用依舊還在安卓端大行其道。
為了解決這一問(wèn)題,從谷歌到各應(yīng)用商店幾乎都在勸開(kāi)發(fā)者“棄暗投明”。日前有開(kāi)發(fā)者透露,已收到小米應(yīng)用商店《關(guān)于關(guān)閉新應(yīng)用32位單包上傳入口通知》,其中顯示,2022年4月1日新上架的應(yīng)用將不再允許單獨(dú)上傳32位應(yīng)用包,但游戲暫時(shí)不受限制。
同時(shí)來(lái)自海外開(kāi)發(fā)者論壇XDA的消息顯示,提交給AOSP Gerrit的代碼更改了一個(gè)新的警告,只要用戶(hù)在64位系統(tǒng)中運(yùn)行32位應(yīng)用就會(huì)彈出警告。而警告信息則會(huì)告訴用戶(hù) ,應(yīng)用需要由開(kāi)發(fā)者更新以提高兼容性,并敦促用戶(hù)檢查更新或是聯(lián)系開(kāi)發(fā)者。
沒(méi)錯(cuò),即便是如今,打開(kāi)幾乎任何一個(gè)安卓應(yīng)用商店都還可以看到32位應(yīng)用的存在,甚至于部分32位應(yīng)用還是大名鼎鼎的國(guó)民級(jí)APP。但作為對(duì)比,自2013年的iOS 7到2017年的iOS 11,蘋(píng)果方面只用了4年時(shí)間就完成了應(yīng)用從32位到64位的迭代,現(xiàn)在iOS生態(tài)中已經(jīng)沒(méi)有32位APP存在。
然而,事實(shí)上谷歌開(kāi)啟安卓64位時(shí)代的步伐僅僅只比蘋(píng)果晚了一年,并且首款支持64位的SoC(高通驍龍808)和系統(tǒng)(Android 5.0)都早在2014年就已亮相。
就在高通驍龍808與Android 5.0問(wèn)世時(shí),當(dāng)時(shí)業(yè)界的主流觀點(diǎn),還是2015年搭載64位旗艦主控的安卓設(shè)備開(kāi)始出貨,追隨iOS設(shè)備切換到64位架構(gòu),2016年絕大多數(shù)安卓設(shè)備都換用64位架構(gòu),并在2017年64位應(yīng)用成為安卓生態(tài)的主流。但事實(shí)證明,除了最后的64位應(yīng)用普及時(shí)間外這一預(yù)言基本準(zhǔn)確。不僅如此,從2014年到2022年8年時(shí)間過(guò)去后,安卓的64位應(yīng)用依然沒(méi)有實(shí)現(xiàn)全面普及。
64位應(yīng)用為何在安卓平臺(tái)的普及速度如此之慢?要回答這個(gè)問(wèn)題,需要先弄清32位與64位這兩個(gè)關(guān)鍵詞的區(qū)別。
從馮·諾依曼機(jī)到現(xiàn)在如今大家熟知的個(gè)人電腦,計(jì)算機(jī)設(shè)備是用二進(jìn)制邏輯、也就是0和1(實(shí)際是高電位和低電位)來(lái)表示信息,因此32位與64位分別指的是處理器在單位時(shí)間內(nèi)能一次處理的二進(jìn)制數(shù)位數(shù)分別為32位和64位。在工作頻率相同的情況下,顯然64位處理器的處理數(shù)據(jù)速度更快,這也是理論上64位更強(qiáng)的依據(jù)。
反過(guò)來(lái)說(shuō),用64位處理器運(yùn)行32位應(yīng)用則類(lèi)似于"大馬拉小車(chē)"。用64位處理器計(jì)算32位應(yīng)用時(shí),其實(shí)只需要在高電位補(bǔ)上“0”即可,不太會(huì)讓用戶(hù)感知到效率差異。
與此同時(shí),安卓長(zhǎng)期以來(lái)呈現(xiàn)出的碎片化狀態(tài),無(wú)疑也是讓谷歌遲遲難以下定決心推行64位應(yīng)用的原因之一。就與windows的后向兼容一樣,大量的老版本和老機(jī)型此前占據(jù)了安卓生態(tài)的半壁江山,而為了這部分用戶(hù)的體驗(yàn),安卓的后向兼容性也遠(yuǎn)比iOS出色得多。
由于32位應(yīng)用可以運(yùn)行在64位系統(tǒng)上,并且代價(jià)卻微乎其微,可如果將應(yīng)用全面轉(zhuǎn)型64位,結(jié)果就是那些依然在使用32位系統(tǒng)的用戶(hù)再將無(wú)法使用,這所代表的無(wú)疑就是用戶(hù)流失。而如果同時(shí)開(kāi)發(fā)32位與64位版本,也就意味著工作量切切實(shí)實(shí)地提高了。既然32位應(yīng)用在新版安卓系統(tǒng)中依然能夠運(yùn)行,且效率也沒(méi)有太大的區(qū)別,自然也就會(huì)導(dǎo)致開(kāi)發(fā)者將32位應(yīng)用升級(jí)到64位的意愿就不會(huì)太強(qiáng)。
而iOS與安卓在推行64位應(yīng)用上的效率差異,最關(guān)鍵的原因無(wú)疑是前者是一個(gè)封閉的生態(tài),并且蘋(píng)果的掌控力相對(duì)極高,第三方開(kāi)發(fā)者在某種意義上可以視作是蘋(píng)果的“打工人”??煞从^安卓,開(kāi)放的生態(tài)造就了谷歌與開(kāi)發(fā)者之間的關(guān)系,更加接近傳統(tǒng)的開(kāi)發(fā)者社區(qū),雙方是盟友、是合作者,充其量也就是谷歌的號(hào)召力更強(qiáng),而第三方開(kāi)發(fā)者則是一盤(pán)散沙。
這種區(qū)別所導(dǎo)致的結(jié)果,就是蘋(píng)果方面一旦更改App Store的審核指南,開(kāi)發(fā)者就得跟著指揮棒跳舞,而谷歌想對(duì)安卓應(yīng)用的開(kāi)發(fā)做出改變,卻需要得到社區(qū)的支持。
如今,從安卓應(yīng)用商店到谷歌都開(kāi)始準(zhǔn)備強(qiáng)制敦促開(kāi)發(fā)者將應(yīng)用升級(jí)到64位,其實(shí)是因?yàn)閱?wèn)題已經(jīng)到了非解決不可的地步,32位的天生缺陷開(kāi)始逐步限制了安卓平臺(tái)軟件生態(tài)的進(jìn)步。
在2020年10月,作為iOS和Android設(shè)備CPU指令集架構(gòu)開(kāi)發(fā)者,ARM在DevSummit開(kāi)發(fā)者峰會(huì)上就已宣布,自2022年開(kāi)始的IP設(shè)計(jì)中將逐漸取消對(duì)32位的支持。一方面是從安卓8.0開(kāi)始碎片化問(wèn)題逐漸得以緩解,另一方面是ARM在硬件上的限制將使得32位應(yīng)用影響到用戶(hù)體驗(yàn),所以也使得升級(jí)64位對(duì)于安卓生態(tài)來(lái)說(shuō)也就變得不得不進(jìn)行了。
根據(jù)小米方面的說(shuō)法,在已上市的高通驍龍8 Gen 1與聯(lián)發(fā)科天璣9000平臺(tái)上,32位應(yīng)用僅支持在CPU大核上運(yùn)行,這會(huì)導(dǎo)致存在一些發(fā)熱及功耗等體驗(yàn)方面的問(wèn)題。
而對(duì)于ARM架構(gòu)有所了解的朋友想必知道,目前主流的ARM架構(gòu)芯片都采用的是big.LITTLE大小核切換技術(shù),這是一項(xiàng)可以將正確的任務(wù)調(diào)度到正確CPU核心的技術(shù),可以讓大核心負(fù)責(zé)游戲等高負(fù)載任務(wù)、小核心負(fù)責(zé)聽(tīng)歌、瀏覽網(wǎng)頁(yè)等低負(fù)載任務(wù)。但這一技術(shù)的代價(jià)是芯片的工作模式必須統(tǒng)一,不能是大核使用AArch64指令集,小核使用AArch32指令集。
big.LITTLE技術(shù)的局限性,以及ARM方面對(duì)于32位應(yīng)用的限制,就意味著部分本應(yīng)運(yùn)行在小核上的低負(fù)載應(yīng)用被迫使用大核,再加上這一代旗艦SoC本身在功耗及發(fā)熱方面的表現(xiàn),影響日常使用也成為了板上釘釘?shù)氖虑?。大家不妨想象一下,如果單純只是在用手機(jī)刷微博、聽(tīng)歌,此時(shí)手機(jī)居然會(huì)開(kāi)始發(fā)熱,這又有誰(shuí)能受得了呢?通常消費(fèi)者此時(shí)可能就會(huì)吐槽手機(jī)本身有設(shè)計(jì)缺陷了,但對(duì)于廠商來(lái)說(shuō)可謂是人在家中坐、鍋從天上來(lái)。
即便拋開(kāi)上述這些問(wèn)題,32位應(yīng)用也早就沒(méi)有了未來(lái)。除了在數(shù)據(jù)處理性能上的不同外,32位與64位最大的差異就在于所支持的內(nèi)存上(請(qǐng)注意,這里的內(nèi)存指的是地址空間,而不是物理內(nèi)存)。32位系統(tǒng)的最大尋址空間是2^32(約4GB),64位系統(tǒng)的最大尋址空間為2^64(16EB),這就導(dǎo)致了64位應(yīng)用可以使用動(dòng)態(tài)內(nèi)存分配將一個(gè)大于4GB的應(yīng)用放到內(nèi)存進(jìn)行處理,而32位應(yīng)用就需要使用類(lèi)似“分塊讀入”的復(fù)雜方式來(lái)完成。
簡(jiǎn)單來(lái)說(shuō)就是,32位應(yīng)用理論上最大只支持4GB內(nèi)存,而另外使用64位內(nèi)存指針則會(huì)使應(yīng)用“膨脹”,占用更多的緩存和內(nèi)存,并讓消費(fèi)者對(duì)于更大內(nèi)存和大容量閃存的需求增加。要知道當(dāng)下主流機(jī)型的內(nèi)存至少已經(jīng)從6GB起步、8GB是標(biāo)配,12GB也并不少見(jiàn),無(wú)疑也使得64位應(yīng)用才更契合這一特征。
如今從谷歌到蘋(píng)果,再到各大手機(jī)廠商,早已紛紛將移動(dòng)辦公、移動(dòng)娛樂(lè)作為重點(diǎn)的情況下,無(wú)疑手機(jī)要承載的功能也就更多、應(yīng)用場(chǎng)景也愈發(fā)豐富,所以先天有缺陷的32位應(yīng)用就只能被束之高閣了。
11周歲的“米粉節(jié)”,已成為小米獨(dú)特的“交友”方式
時(shí)隔一年多,手機(jī)的超大底CMOS為何又火了
全新技術(shù)方案接連面世,旗艦機(jī)型大底之爭(zhēng)有望重啟。
聯(lián)系客服