iOS 11怕了!Android 8.0改进:告别卡、慢、耗电

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

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

iOS 11怕了!Android 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 版本主要是细节的优化和体验的提升。

iOS 11怕了!Android 8.0改进:告别卡、慢、耗电

8. 0 版本加入了 TensorFlow Lite 技术,可以帮助低功耗设备跟上当今高强度任务处理,利用新的神经网络 API 帮助底层芯片加速数据处理。这一功能有助于为下一代在线设备提高语音处理,视觉搜索,增强现实等能力。简而言之,就是一个内置在系统的机器学习工具。

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

iOS 11怕了!Android 8.0改进:告别卡、慢、耗电

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

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

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

来自: 驱动之家

扩展阅读

Android为何比iOS卡?论1G内存的使用
分享海量 iOS 及 Mac 开源项目和学习资料
iOS 8 普及率达到 82%,Android 5.0 只有 1.6%
Android 和 iOS 孰优孰劣:真实应用开发过程告诉你答案
Android 编年史

为您推荐

Android开发周报:谷歌推送Android 6.0.1、Android启动优化解析
十年WEB技术发展历程
Android N 有多好?看这 10 项新功能就知道了
Android开发技术周报 Issue#52
未来是iOS的,更是Android的,但归根结底还是PhoneGap的

更多

Android
移动开发