為什麼國內安卓應用商店全是32位的程序?

買不起熊的安妮


很簡單的問題,64位的軟件32位的手機不能用,說不定那個人就在用著32位的手機


GTMDSMJPG


有網友稱,Google Play中的微信版本是64位,在體驗上要比32位的好,而具體的查詢方法也很簡單,只需打開微找到“我的—關於微信—雙擊版本號上面的圖標”即可,如果[eabi]這一行標有64,即是64位版本,而顯示armebi-v7a則說明是32位。

32位和64位到底有什麼區別?

面對網絡上的熱議,微信方面也很快做出反應推出了7.0.9正式版,並且還單獨新增了64位版本。看到這裡,相信手持iPhone的朋友可能會面露不屑,“APP難道還有不是64位的”?沒錯,但其實早在iPhone 5S時代,蘋果方面就已經要求開發者準備64位應用,並在iOS 11上全面取消了對32位應用的支持,如今iOS上也已實現了APP的全面64位化。

事實上經過了很多網友的測試之後發現,在使用體驗上64位微信並沒有與32位版本拉開明顯的差距。而之所以在體驗上沒有明顯差距,其實與32位和64位到底是什麼有著密切的關係,由於計算機設備是用二進制0和1(實際是高電位和低電位)來表示信息,因此32位和64位則分別指的就是處理器在單位時間內,能一次處理的二進制數的位數分別為32位和64位。
從某種意義上來說,64位處理器的性能要更強,因為32位處理器一次只能處理32位也就是4字節的數據,而64位處理器則一次可以處理64位即8字節的數據。所以在工作頻率相同的情況下,顯然64位處理器的處理數據速度更快,這也是理論上64位更強的依據。
除了對數據處理的不同效率,其實32位與64位最大差異是在支持的內存上有所區別,而這裡的內存指的是地址空間,不是物理內存。32位系統的最大尋址空間是2^32(大約4GB),64位系統的最大尋址空間則是2^64,,這就導致64位應用可以使用動態內存分配,將一個大於4GB的程序放進內存進行處理,而32位應用就只能使用類似“分塊讀入”的辦法。但在實際使用中,64位系統巨大的內存空間也會增加尋址開銷,加速物理內存的消耗,並導致總體效率不會明顯提升。
支持64位的處理器+支持64位的Android系統+64位的應用合在一起,才能實現效率加成,而這三者則是缺一不可,但這其中最難實現的反而恰恰是第三點。儘管在效率上64位系統並不會有跨越式的提升,但由於其能夠兼容32位應用,反之則不然的特性,也使得64位處理器更強的性能和64位系統的普及成為了大勢所趨。
谷歌還是Android的帶頭大哥
上文提到蘋果,是從2013年的iPhone 5S開始轉向64位應用,而Android則只晚了一代,支持64位的SoC(高通驍龍808)和支持64位的系統(Android 5.0)都是在2014年亮相。因此當時曾有業內人士預估,2015年搭載64位旗艦主控的Android機型開始出貨之後,這一生態也將在這一時間點切換到64位架構,此後2016年絕大多數Android設備都將採用64位架構,而在2017年64位應用在Android上則將與iOS一樣將成為主流。
然而事實證明,除了最後的64位應用的普及時間之外,這個預言基本準確。那麼為什麼64位應用在在Android上的普及如此之慢?按常理來說,移動端作為新興產物其歷史包袱要遠比桌面端更小,而且Android應用又是使用Java編寫而不是native code,因此對於開發者來說,放棄對32位的支持其實並不難。
可理論與實際總是有差別的,蘋果可以迅速完成全面64位化,是因為其是iOS生態的掌控者,但Android陣營作為一個相對鬆散的聯盟,谷歌作為Android話事人靠的是威望與各大OEM廠商、開發者、上游供應鏈,以及運營商的尊重。因為64位系統下是可以運行32位軟件的,而且基本沒有性能損失,所以對於開發者來說,推出64位APP是件付出大於回報的事情。再加上谷歌彼時正忙著擴大Android的影響力,以及一貫對開發者的“跪舔”態度,也使得64位APP這種優先級不高的改動就暫時擱置在了一旁。
不過此一時彼一時,當時間來到Android Q時代,伴隨著全球手機市場進入滯漲期,智能手機的人口紅利時代結束之後,谷歌的Android同樣需要與蘋果的iOS一起爭奪存量市場,而且隨著時間的推移,大量在2015和2016年推出的32位機型,也已經走到了生命週期的尾聲。
因此谷歌方面也開始轉變態度,去年初就通過郵件通知開發者,從2019年8月1日開始除了一直存在的32位版以外,新應用和應用更新都必須提交64位的版本。然而可惜的是,在國外市場谷歌還可以用Google Play來調控開發者,但是國內的安卓生態則完全不同,因此才會出現Google Play中的微信版本是64位,而國內應用商店中微信則是32位的情況。
國內安卓渠道其實很難對開發者說不
就像上文中提到的那樣,對於開發者來說,從32位升級到64位需要付出的是額外的工作量,但收益卻很難直觀體現出來。故而對於騰訊這樣的商業公司或者其他第三方開發者來說,沒有利益的情況下,就沒有改變現狀的動力。
然而在海外市場,掌握分發渠道主動權的谷歌,可以用決定誰能上Google Play的方式強迫開發者擁抱64位應用,可國內的安卓生態就完全不一樣了。儘管說在一輪又一輪的大浪淘沙之後,國內安卓生態從“春秋”走向了“戰國”,但本質上已然是一個競爭相對充分的自由市場,開發者與分發渠道之間的關係是互相需要,這就導致各大手機廠商的應用商店與第三方渠道彼此之間互相牽制。
而無論是蘋果還是谷歌在海外市場執行的政策歸根結底,還是利用自己的優勢地位強迫開發者,在這種情況下,國內的安卓渠道誰先效仿Google Play的政策當這個“惡人”,可能就要面臨惡了開發者的危險。這種“背鍋我來,吃肉你去”的好人,顯然大家誰也不想當。
渠道方不願意做槍打出頭鳥這種不划算的事情,那就只能寄希望於開發者的自覺了,但並不是所有的第三方開發者都是騰訊這種在事實上揹負了一定的社會責任的企業。因此在未來很長的一段時間裡,如果安卓分發渠道之間不達成合作,或許32位應用依然將會是國內市場的主流。(引用自網絡)

與界


Hello 你好
我是一隻超大的餅
很高興能夠回答你的這個問題
為了能夠解決這個問題呢
我特意上網搜索了一下
手機32位和64位處理器的區別
讓我們先從這裡說起
從某種意義上來說
64位處理器的性能要更強

\n

{!-- PGC_VIDEO:{"thumb_height": 1080, "vposter": "http://p0.pstatp.com/origin/tos-cn-p-0000/66f0782280b24ee6a5a75633470521bb\

一隻超大的餅


首先看需求是否需要到64位。

一個小軟件(50M以下)做的事又不復雜(單一)不需要考慮併發(甚至連隊列都沒有需求)內存要求又少(100M以下),最多也就是CS模式,生命週期又短(有明確的停用日期)。

當然什麼最快用什麼了。於是,就是託管式代碼開發:引用的包比真正寫出來的代碼還大。

真正原因:再開發一個64位=再收一筆鉅款


熱心市民鄭先生z


因為32的64能用,而64的32不能用


分享到:


相關文章: