Google近日正式發(fā)布了安卓11。對于這個最新一代安卓系統(tǒng),所帶來的新功能新特性,自然頗具價值。不過考慮到國內往往會對原生安卓的功能進行種種魔改,其實對于國內用戶來說,影響有限。
安卓11對國內生態(tài)影響最大的,可能還是一些底層變化,這也較少為人提及。
沒錯,安卓11的底層又有了不少大變化!所帶來的劇變,會深刻影響廣大用戶,今天就一起來聊聊吧。
刷機不再變磚?Recovery分區(qū)成為歷史!
如果你是一名安卓刷機玩家,一定知道Recovery這個名詞。這是安卓系統(tǒng)中,用于恢復系統(tǒng)的模式,無論是廠商官方升級系統(tǒng),還是玩家刷入第三方ROM,通常需要通過Recovery來進行。在安卓機中,還專門劃分了一個分區(qū)來放置Recovery,但這在安卓11中要成為歷史了。
傳統(tǒng)的Recovery升級模式,如果寫入System系統(tǒng)分區(qū)的數(shù)據(jù)有誤,那么機器可能就無法啟動,刷機玩家應該很熟悉這一類“變磚”的情況,甚至廠商OTA偶爾也會“變磚”。要如何避免?事實上,近年的新安卓機使用A/B分區(qū)機制,很多安卓機已經(jīng)不需要Recovery來引導升級。
Android系統(tǒng)啟動方式的變更,之前需要經(jīng)由Recovery,使用A/B分區(qū)機制后直接通過boot來引導啟動
在采用了A/B分區(qū)機制的安卓機中,當系統(tǒng)需要升級的時候,會將新的系統(tǒng)寫入其中一個分區(qū),寫入成功后則從該分區(qū)啟動;如果寫入失敗,或者啟動失敗,則從原分區(qū)啟動,這相當于兩個系統(tǒng)分區(qū)相互備份,大大減少了系統(tǒng)升級的故障率。
安卓11的機制也與此相似。出廠預裝安卓11的機器,取消了Recovery分區(qū),而且對A/B分區(qū)機制進行了一定程度的改變。安卓11需要升級系統(tǒng)的時候,會將新系統(tǒng)的數(shù)據(jù)和現(xiàn)在的系統(tǒng)數(shù)據(jù)進行對比校驗,將差異部分寫入另一個分區(qū)而不是系統(tǒng)分區(qū);
之后,利用新數(shù)據(jù)啟動系統(tǒng),如果系統(tǒng)順利啟動,那么就將差異數(shù)據(jù)寫入到系統(tǒng)分區(qū),啟動失敗則拋棄差異數(shù)據(jù),用原來系統(tǒng)分區(qū)的數(shù)據(jù)啟動。
安卓11這個新機制既有A/B分區(qū)的可靠性優(yōu)點,也無需像A/B分區(qū)那樣占據(jù)大量的額外空間。
無論如何,Recovery分區(qū)都已經(jīng)遭到了遺棄,預裝安卓11的機器,出廠就沒有Recovery分區(qū),boot分區(qū)更多承擔起了以前Recovery分區(qū)的工作。Recovery是刷機不可或缺的工具,刷機玩家何去何從?恐怕得另覓出路了。
安卓11是有史以來最容易升級的安卓?
我們知道,Google一直為解決系統(tǒng)碎片化問題做努力,力求設備能夠升級最新版本的安卓。
為此,Google作了很多努力,例如在安卓8.0中推行了Project Treble機制,將系統(tǒng)(Android OS framework)單獨分區(qū),和硬件驅動(Vendor implementation)分離,此后廠商可以為設備單獨推送新版安卓,而不需要重新適配驅動。
Project Treble將Google的安卓系統(tǒng)框架和硬件供應商提供的驅動作了分離
Project Treble大大簡化了安卓系統(tǒng)的升級流程,但這還不夠。在安卓10當中,Google推行了Project Mainline,將系統(tǒng)進一步細分模塊化。
在安卓10中,14個系統(tǒng)組件被Mainline化,媒體解碼器、權限控制器、網(wǎng)絡組件等系統(tǒng)組件,都可以像普通App一樣,通過應用商店來更新——很多朋友發(fā)現(xiàn),今年安卓機的GPU驅動竟然能夠獨立更新,就得益于此。
在安卓11中,Google又進一步對安卓組件進行細分,安卓的組件模塊達到了20個之多,安卓的系統(tǒng)維護將會變得前所未有地靈活。
不僅如此,Google還將改制推行到了系統(tǒng)內核當中,安卓的Linux系統(tǒng)內核升級將會變得更加靈活。
在當前的安卓系統(tǒng)中,Linux系統(tǒng)內核升級大體需要經(jīng)歷三個步驟。首先,Google選定一個Linux LTS版本作為安卓內核,打上安卓運行所需要的Patch;
接著,Google將這個內核提交給高通等SoC供應商,供應商再次將其打造成為適配SoC的內核;
最后,三星等設備商再讓內核適配不同的元器件,再次為內核打上各種Patch,讓內核成為真正可以在安卓機上運行的版本。
傳統(tǒng)的Android系統(tǒng)Linux內核升級流程,需要經(jīng)由重重環(huán)節(jié),非常麻煩
由于步驟繁瑣,因此當前的安卓機一旦出廠,Linux內核就很少變動,即使是Google旗下的Pixel設備,內核也依然只是較為老舊的Linux 4.14。
而在安卓11中,情況有所變化,Google將系統(tǒng)內核進行了模塊化修改,內核被分成了Generic Kernel Image(GKI)和其他GKI模塊。
如果想要升級Linux版本,Google可以直接面向安卓機推送GKI,手機直接升級GKI即可,再也不需要經(jīng)歷從SoC廠商到手機設備廠商的繁瑣步驟。
Android 11開始,內核進行了模塊化,一個GKI內核可以通用于市面上的大量安卓機
據(jù)了解,安卓11的這一特性,在內核版本高于Linux 5.4以上的設備上,是要求強制執(zhí)行的。
可以說,如果安卓11的設備出廠內核版本就是Linux 5.4以上,那它有可能會是史上最容易升級的安卓。
安卓存儲目錄文件夾亂象徹底解決?
相信不少人發(fā)現(xiàn),安卓機用久了以后,存儲目錄下就會多出很多奇奇怪怪的文件夾,這些文件夾是由各種App生成的,這其實是一個歷史遺留問題。
安卓機的內部存儲目錄一度非常小,例如經(jīng)典的Milestone的ROM只有512M,需要用SD卡擴展存儲空間,因此安卓App往往會將文件保存在外部存儲目錄下(也就是sdcard目錄)。
而安卓在4.3版本前并沒有提供外部存儲目錄的規(guī)范,App習慣在sdcard目錄中隨意建立自己的文件夾,這個習慣一直保留到如今。
現(xiàn)在,盡管安卓建立了sdcard目錄的存儲規(guī)范,例如安卓系統(tǒng)規(guī)定App如果要在內部存儲空間建立文件夾,需要建立到/data/data/目錄下,在外部存儲空間則需要建立在/sdcard/Android/data/目錄下。
然而這一規(guī)范并非是強制性的,很多App由于使用第三方SDK等各種各樣的原因,視安卓的存儲目錄規(guī)范不見,依然在sdcard目錄下自建文件夾,安卓存儲目錄的混亂由此而來。
在安卓11中,文件夾亂象終于有望得到徹底解決。安卓11將不再允許App在sdcard建目錄和文件,APP只能夠往特定目錄的私人文件夾寫入數(shù)據(jù)。
目前某些APP已經(jīng)開始為此做準備,例如新版QQ將存儲目錄從/sdcard/tencent/變更到了/sdcard/Android/data/com.tencent.mobileqq/Tencent/,就是為了適應安卓的存儲新機制。
總結
除了上文所提到的,安卓11還有很多非常有意義的更新,例如更強大的隱私保護、改進的通知系統(tǒng)等等,這里就不一一列舉了。
總的來說,安卓11是一個從里到外都進行了重大改革的版本,它解決了安卓的很多歷史問題,大家共同期待吧。
責編AJX
-
Android
+關注
關注
12文章
3945瀏覽量
127947 -
Recovery
+關注
關注
1文章
9瀏覽量
10177 -
安卓
+關注
關注
5文章
2136瀏覽量
57606
發(fā)布評論請先 登錄
相關推薦
評論