加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 评论 > 正文

安卓这些年变化多惊人?老玩家的回忆杀

发布时间:2019-04-17 09:32:10 所属栏目:评论 来源:科技美学
导读:新一代安卓系统很快就要正式和大家见面了,目前安卓10的前身安卓Q已经向Pixel设备推送了测试版,而安卓Q之中的Q到底会是什么甜品,也成为了大家热议的话题。算起来,安卓数字版本走到了10,而安卓用甜点作为系统代号的传统,已经传承了14代。从Cupcake纸杯

两者有什么区别呢?简单来说,以前安卓的U盘模式会把安卓机的存储空间直接挂载到PC系统上,令安卓的存储空间化身分PC系统中的一个磁盘分区,操作起来和U盘是没有什么区别的。而现在的MTP模式,并不会把安卓的存储空间挂载为PC磁盘分区,而只是通过MTP协议来传输数据。这两种设计的用户体验,有着巨大差异。

安卓这些年变化多惊人?老玩家的回忆杀
安卓U盘模式下,手机是无法读取机内文件的,现在安卓已经不再使用这一方案

首先来说说U盘模式的优点。由于直接把存储空间挂载为PC盘符,所以你可以在PC上随意浏览修改安卓机内的文件,传输速度也很快,下载软件也能直接把东西下载到安卓机当中,不需要下载到本地再复制。但U盘模式带来的问题也挺影响用户体验的,当你把安卓当U盘的时候,安卓系统就读取不到机内文件了,而且一旦安卓使用的是PC认不出的磁盘格式,例如ext4等,PC就无法读取安卓的存储空间。

与之相比,MTP模式兼容性更好,只要PC支持MTP协议,无论安卓使用怎样的磁盘格式,都可以读取数据。虽然MTP速度慢,但PC和安卓都能同时操作机内文件,而且也更加安全,PC无法对一些安卓的关键数据进行修改。例如PC感染了病毒,病毒就难以通过MTP顺藤摸瓜去破坏安卓的文件。当然,MTP的不便之处就是不能直接修改文件,需要先把文件拷贝出来在进行操作。

对于用户来说,MTP显然更不容易出问题。因此,性能更强的U盘模式被淘汰也在情理之中了。

手动Trim

安卓机用的是闪存,自然也会遇到闪存变“脏”的情况。简单来说,闪存需要擦除数据后才能重新写入,系统中删除数据时,数据并不会在闪存上被物理删除。如何让系统智能地识别“脏”闪存,在数据写入之前就把闪存清理干净?所用到的重要技术就是Trim。

在最早,安卓是不支持Trim的,因此安卓机用久了以后,闪存I/O效率会大为下降,卡顿也就油然而生。不过Linux本身是支持Trim命令的,因此通过Lagfix等APP,可以手动发起Trim,或者设置定时Trim,让安卓恢复流畅。

安卓这些年变化多惊人?老玩家的回忆杀
安卓一度需要手动Trim

近年的操作系统包括Windows、macOS等,都已经全面支持Trim,作好了完善支持SSD的准备,如果安卓还需要手动Trim,那也未免太说不过去。在安卓4.3后,这一玩法成为了历史。安卓4.3终于加入了系统Trim功能,得益于此,安卓的流畅度也提高了一个层次。

4安卓曾经的卡顿让你刻骨铭心吗?安卓曾经的卡顿让你刻骨铭心吗?说起安卓的蔑称,“卡顿小王子”这外号是逃不过去的。如果你是老安卓玩家,一定会对早几年安卓的卡顿印象深刻。而当时人们选择iOS甚至WP的一大原因,往往是受够了安卓三帧一卡五帧一顿的糟糕体验。

而现在,不说安卓已经绝对流畅,起码越来越少人将安卓卡顿视为难以接受的使用障碍;加之iOS在流畅度也翻了车,抱怨安卓卡顿就更缺乏理由了。安卓提升流畅度方面的努力,可谓是有目共睹。

影响安卓流畅度的第一大原因,就是后台调度机制,安卓的后台机制和Linux一脉相承,返回系统桌面并不会关闭APP的相应进程,而是让APP在后台持续运行;当系统需要更多资源的时候,相应状态的进程才会被请出去。然而不少APP都使用了种种手段驻留后台,系统本身压根没法将流氓APP的进程们清理出去。系统资源越来越吃紧,卡顿也就理所当然了。

安卓这些年变化多惊人?老玩家的回忆杀
安卓把APP进程分成不同类型,自动管理后台是否驻留,然而APP们可没有那么规矩

为了解决APP乱驻后台的问题,安卓可谓是费尽心思。在安卓5.X当中,Google推行了伏特计划(Project Volta),系统新增了一个新的API JobScheduler,引入了对齐唤醒机制。APP的后台想要有什么举动,不能再密集唤醒,而是集中于某个时段一齐唤醒,减缓了卡顿的概率。而在安卓6.X当中,进一步引入了Doze机制,当系统检测到手机长期静止的时候,系统会让后台进程进入休眠、极少唤醒,不再让后台进程白白耗费手机电量。

在安卓7.X当中,安卓系统的进程调度就更加以流畅为本了,系统会限制后台能调用的资源,让前台任务保持流畅。而在安卓8.X当中,其开发规范(API level 26以上)要求APP一旦进入后台,需要在短时间内停止所有的后台服务,也不可以随便启动新的后台服务。到了安卓9.0,系统则直接禁止APP调用第三方的API,并且不兼容API level 17——在以往APP可以用第三方或者老旧的API绕过安卓系统的限制,在最新版的安卓中,问题得到了较有效的解决。

安卓这些年变化多惊人?老玩家的回忆杀
安卓8.0限制APP后台服务

安卓卡顿的另一个因素,是UI渲染机制。在安卓2.X当中,安卓并没有广泛使用GPU加速渲染UI,直到安卓3.X蜂巢当中,才加入了系统级别的GPU硬件加速机制。在此后的安卓系统当中,可以在开发者模式中强制开启硬件加速,让系统强行使用GPU渲染APP界面。开启后,很多原先卡顿的APP都如丝滑般流畅。

而安卓4.1推行了黄油计划(Project Butter),通过同步机制(Vsync)和缓冲机制,将UI帧数提升到60帧的同时,把每一帧的渲染时间控制住0.0167ms左右。如此一来,安卓的UI就变得前所未有的丝滑顺畅,为流畅度追赶iOS打下了良好的基础。

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读