安卓11正式发布

2020-10-26 16:42宋奇
计算机与网络 2020年18期
关键词:内核分区文件夹

宋奇

Google近日正式发布了安卓11,这个最新一代安卓系统,带来的新功能新特性,自然颇具价值,安卓11对国内生态影响最大的可能是一些底层变化,会深刻影响广大用户。

刷机不再变砖Recovery分区成为历史

如果你是一名安卓刷机玩家,一定知道Recovery这个名词。这是安卓系统中,用于恢复系统的模式,无论是官方升级系统,还是玩家刷入第三方ROM,通常需要通过Recovery来进行。在安卓机中,还专门划分了一个分区来放置Recovery,但在安卓11中要成为历史了。

传统的Recovery升级模式,如果写入System系统分区的数据有误,那么机器可能就无法启动,刷机玩家应该很熟悉这一类“变砖”的情况,甚至厂商OTA偶尔也会“变砖”。要如何避免?事实上,近年的新安卓机使用A/B分区机制,很多安卓机已经不需要Recovery来引导升级。

在采用了A/B分区机制的安卓机中,当系统需要升级的时候,会将新的系统写入其中一个分区,写入成功后则从该分区启动;如果写入失败,或者启动失败,则会从原分区启动,这就相当于2个系统分区相互备份,大大减少了系统升级的故障率。

安卓11的机制也与此相似。出厂预装安卓11的机器,取消了Recovery分区,对A/B分区机制进行了一定程度的改变。安卓11需要升级系统的时候,会将新系统的数据和现在的系统数据进行对比校验,将差异部分写入另一個分区而不是系统分区。之后,利用新数据启动系统,如果系统顺利启动,那么就将差异数据写入到系统分区,启动失败则抛弃差异数据,用原来系统分区的数据启动。

安卓11这个新机制既有A/B分区的可靠性优点,也无需像A/B分区那样占据大量的额外空间。无论如何,Recovery分区都已经遭到了遗弃,预装安卓11的机器,出厂就没有Recovery分区,boot分区更多承担起了以前Recovery分区的工作。Recovery是刷机不可或缺的工具,刷机玩家何去何从?恐怕得另觅出路了。

有史以来最容易升级的安卓

Google一直为解决系统碎片化问题做努力,力求设备能够轻松升级最新版本的安卓。为此,Google作了很多努力,例如在安卓8.0中推行了Project Treble机制,将系统(Android OS framework)单独分区,和硬件驱动分离,此后厂商可以为设备单独推送新版安卓,而不需要重新适配驱动。

Project Treble大大简化了安卓系统的升级流程,但这还不够。在安卓10当中,Google推行了Project Mainline,将系统进一步细分模块化。14个系统组件被Mainline化,媒体解码器、权限控制器、网络组件等系统组件,都可以像普通App一样,通过应用商店来更新。很多朋友发现,2020年安卓机的GPU驱动竟然能够独立更新,就得益于此。

在安卓11中,Google又进一步对安卓组件进行细分,安卓的组件模块达到了20个之多,安卓的系统维护将会变得前所未有的灵活。不仅如此,Google还将改制推行到了系统内核当中,安卓的Linux系统内核升级将会变得更加灵活。

在当前的安卓系统中,Linux系统内核升级大体需要经历3个步骤。首先,Google选定一个Linux LTS版本作为安卓内核,打上安卓运行所需要的Patch;接着,Google将这个内核提交给高通等SoC供应商,供应商再次将其打造成为适配SoC的内核;最后,三星等设备商再让内核适配不同的元器件,再次为内核打上各种Patch,让内核成为真正可以在安卓机上运行的版本。

由于步骤繁琐,因此当前的安卓机一旦出厂,Linux内核就很少变动,即使是Google旗下的Pixel设备,内核也依然只是较为老旧的Linux 4.14。

而在安卓11中,情况有所变化,Google将系统内核进行了模块化修改,内核被分成了Generic Kernel Image(GKI)和其他GKI模块。如果想要升级Linux版本,Google可以直接面向安卓机推送GKI,手机直接升级GKI即可,再也不需要经历从SoC厂商到手机设备厂商的繁琐步骤。

据了解,安卓11的这一特性,在内核版本高于Linux 5.4以上的设备上,是要求强制执行的。可以说,如果安卓11的设备出厂内核版本就是Linux 5.4以上,那它有可能会是史上最容易升级的安卓。

安卓存储目录文件夹乱象彻底解决

相信不少人发现,安卓机用久了以后,存储目录下就会多出很多奇奇怪怪的文件夹,这些文件夹是由各种App生成的,这其实是一个历史遗留问题。

安卓机的内部存储目录一度非常小,例如Milestone的ROM只有512 MB,需要用SD卡扩展存储空间,因此安卓App往往会将文件保存在外部存储目录下(就是sdcard目录)。而安卓在4.3版本前并没有提供外部存储目录的规范,App习惯在sdcard目录中随意建立自己的文件夹,这个习惯一直保留到如今。

现在,尽管安卓建立了sdcard目录的存储规范,例如安卓系统规定App如果要在内部存储空间建立文件夹,需要建立到/data/data/目录下,在外部存储空间则需要建立在/sdcard/ Android/data/目录下。然而这一规范并非是强制性,很多App由于使用第三方SDK等各种各样的原因,视安卓的存储目录规范不见,依然在sdcard目录下自建文件夹,安卓存储目录的混乱由此而来。

在安卓11中,文件夹乱象终于有望得到彻底解决。安卓 11将不再允许App在sdcard建目录和文件,App只能够往特定目录的私人文件夹写入数据。目前某些App已经开始为此做准备,例如新版QQ将存储目录从/sdcard/tencent/变更到了/sdcard/Android/data/com.tencent.mobileqq/Tencent/,就是为了适应安卓的存储新机制。

除了以上所提到的,安卓11还有很多非常有意义的更新,例如更强大的隐私保护、改进的通知系统等,这里就不一一列举了。总体来说,安卓11是一个从里到外都进行了重大改革的版本,它解决了安卓的很多历史问题。

猜你喜欢
内核分区文件夹
上海实施“分区封控”
另辟蹊径使用Linux备份和还原Windows系统
人民情怀:柳青为文为人的内核(评论)
Fast Folders,让你的文件夹四通八达
初春
微软发布新Edge浏览器预览版下载换装Chrome内核
摸清超标源头 大文件夹这样处理
调动右键 解决文件夹管理三大难题
大型数据库分区表研究
不容忽视的空文件夹