欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  博文

Android 8.0新特性_安卓8.0改进告别卡慢还更耗电

程序员文章站 2022-02-22 08:17:54
...

一直以来人们都有这样的印象、认为搭载iOS系统的iPhone一定比搭载Android系统的安卓手机流畅、潜移默化中、不少果粉甚至是普通吃瓜群众都形成了这样的思维定式:安卓就是卡、慢的代名词、然而、就是这样一个群众眼中的“卡、慢”的系统、不知不觉间已经走过了第十个年头、这么多年过去了这个观点还成立吗?

Android 8.0新特性_安卓8.0改进告别卡慢还更耗电


Android 8.0不久前已经发布了、尽管Android对比iOS似乎有“先天缺陷”、但一直以来谷歌都在不遗余力地提升安卓系统的流畅度、我们不妨来看看谷歌在这方面都做了哪些努力


Android 4.1:黄油计划

2012年6月、Google I/O 2012开发者大会上、谷歌发布了Android 4.1、该版本担负着“承上启下”的作用、4.1系统继承了4.0的基本特性、又加入了Project Butter的新特性

Project Butter中文称为黄油计划、Google希望新版的Android如黄油一般丝般润滑、所以称之为黄油、该系统使用了新的处理架构、让Android设备中的双核、四核处理器能够得到优化、发挥出强劲的性能

其次、在4.1版本中、特效动画的帧速提高至60fps、优化最佳性能和较低的触摸延迟、提供了一个流畅、直观的用户界面、为了确保帧速一致、4.1版本的Android框架所有的绘图和动画都将统一VSYNC计时、应用渲染、触摸事件、画面构图、显示刷新等操作都会锁定在16毫秒响应、所有的帧都没有提前或者落后


此外、还新增三重影像缓冲技术、让所有的渲染感觉更顺畅、触摸延时不仅会遵循VSYNC计时、还会在触摸操作时做出预判是否要提前渲染、此外在CPU闲置时会分配更多的处理能力来应对触摸事件、确保触摸没有延迟、黄油项目(Project Butter)为我们带来了Android系统的重大改进、谷歌终于开始直面Android系统流畅度这个古老并重要的问题了


Android 4.4:对齐唤醒

其实、很多时候、安卓系统的卡顿并不是由系统本身造成的、而是由于安卓开放的特性例如对第三方APP限制较少、所以很多APP长期恶意在后台运行、定期唤醒系统、随着安装的APP越来越多、各种APP会一窝蜂地唤醒系统、而每次唤醒都会让CPU处于高负荷运转状态、导致手机待机时也非常耗电

而4.4版本很明显的针对这个问题而做出了优化、在该版本中加入了对齐唤醒功能、把原来需要分别在不同时间唤醒系统的多个APP集中在某个时间一次性唤醒、这样、系统被唤醒的次数大幅减少、CPU也不用频繁的工作、手机也就不会这么卡顿和耗电了


Android 5.0:ART虚拟机

一直以来、Dalvik虚拟机背负着Android应用卡顿的罪名、原因则是应用在运行的过程中、虚拟机Dalvik通过一个叫JIT(Just-in-time)的解释器动态的进行编译并执行、这一过程也拖慢了运行效率、而在5.0版本中、原有的Dalvik虚拟机被新的ART虚拟机代替

Android Runtime(缩写为 ART)、是一种在Android操作系统上的运行环境、由Google公司研发、ART能够把应用程序的字节码转换为机器码、是Android所使用的一种新的虚拟机、它与Dalvik的主要不同在于:Dalvik采用的是JIT技术、而ART采用Ahead-of-time(AOT)技术、也就是预编译技术、安装应用的时候、代码中的字节码将被编译成机器码

而由于有了机器码、下次打开的时候就不需要再编译了、这就提高了运行效率、APP启动速度明显加快、ART同时也改善了性能、垃圾回收(Garbage Collection)、提高续航能力、应用程序除错以及性能分析


Android 6.0:Doze嗜睡模式

4.4的对齐唤醒已经对后台APP做出了一定限制、但是显然对于那些“毒瘤APP”显然是不够的、为了杜绝“毒瘤”APP不断在后台消耗资源和电量、6.0版本加入了Doze嗜睡模式、在Doze模式中、系统尝试去通过减少应用的网络访问和CPU敏感的服务来保护电池、它也阻止应用通过访问网络、并且延缓应用的任务、同步和标准alarms

同时系统定期退出Doze模式(maintenance window)去让app完成他们被延缓的动作、在maintenance window期间、系统运行所有挂起的同步、任务和alarms、同时也能访问网络、只要用户通过移动、点亮屏幕或则插上充电器唤醒设备的时候、系统会退出Doze模式、所有的APP退回到正常活动状态


Android 7.0:优化系统代码

如果说前几代Android是在改善应用环境、提升应用体验的话、那么7.0版本就是优化Android的运行环境了、谷歌表示、7.0版本会是最具销量的一代Android操作系统、7.0版本主要通过减少代码的形式来提升运行速度、Android N的代码减少了50%、新的代码减少50%、软件运行速度提升幅度达到600%、应用安装提速75%

自从Android5.0换了ART虚拟机开始、因为安装时要对大量的代码进行预编译、应用安装速度一直被用户诟病、Google终于在Android7.0上解决了这一问题

此外、7.0版本另一个优化是、每次手机升级完系统之后不用等待漫长的应用优化过程、直接就可以进入系统


Android 8.0:针对低配设备的Android Go、系统/应用启动优化

8.0相对前几个版本而言、没有特别大的提升、毕竟Android已经第十个年头了、发展已经非常的成熟、8.0版本主要是细节的优化和体验的提升、8.0版本加入了TensorFlow Lite技术、可以帮助低功耗设备跟上当今高强度任务处理、利用新的神经网络API帮助底层芯片加速数据处理、这一功能有助于为下一代在线设备提高语音处理、视觉搜索、增强现实等能力、简而言之、就是一个内置在系统的机器学习工具


同时、8.0版本还针对应用启动的进程进行优化、包括并发进程、压缩收集的垃圾信息和代码区域等、此外还有针对后台服务的限制、防止应用程序在后台运行太久、目标是大大减少电池消耗

另外、针对配置较低的移动设备、谷歌还推出了Android Go的系统、它不是一个独立分支的Android版本、而是隶属于Android O、可以用于1GB RAM的设备上、例如为了节省性能、原来系统中吃内存的过渡动画被砍掉、同时还针对Android Go开发适配版应用、比如Youtube Go


如果你认为这个系统只是做减法、那你就错了、在有些方面、谷歌甚至还为Android Go添加了功能、比如数据管理、这个对低端机来说十分重要、谷歌会将这个功能添加到快捷设置中、该系统预计2018年正式面世

如今iOS 11也已经发布了、从某些更新内容来看、是对安卓功能的“借鉴”、所以安卓系统在功能性或者可玩性上甚至超过了iOS、由于底层系统的先天不足、导致流畅性在早期落后iOS很多、但随着谷歌孜孜不倦地优化与更新、Android在流畅性方面真的未必输于iOS、卡顿、慢和耗电已经逐渐成为历史、所以、已经存在大家脑海中10年的安卓“卡、慢、耗电”的标签、是时候该抹去了