正在阅读:对话工程师:OPPO 如何斩获双料性能冠军对话工程师:OPPO 如何斩获双料性能冠军

2020-04-04 00:15 出处:PConline原创 作者:柏原刚 责任编辑:tangqunxing

  [PConline 专访] 4月1日,安兔兔发布了2020年3月份Android手机性能榜单,其中OPPO两款手机,OPPO Find X2 Pro和Reno 3 5G分布获得旗舰及中端榜单第一,也是OPPO史上第一次夺得安兔兔双料冠军。

  大家都知道,同一个榜单里面,手机的配置是极为相近的。但是为什么同为某个平台,但是却有不一样的排位结果?

  实际上,安兔兔的跑分除了对硬件堆料有考核之外,软件的优化也十分重要。而不久前发布的OPPO Find X2 Pro上,搭载的ColorOS 7.1除了UIFirst技术底层的优化,还首创了「内存反碎片化引擎」,极大程度的改善了手机的流畅度。

  众所周知,安卓手机因为机型繁多、碎片化严重的原因容易造成系统不稳定、卡顿等问题,手机厂商对安卓的二次开发优化也已经进入了白热化的阶段。在这个阶段,想要做出差异化效果,「内存反碎片化引擎」就显得极为重要。为了搞懂这一技术背后的奥秘,今天,我们就找到了OPPO的驱动工程师 —— 李工,给我们科普一下。

  手机的内存分两种:一种是物理内存,就是我们常在手机参数表里面看到的内存的大小。另外还有一种叫虚拟内存,安卓手机中的32bit进程只有4G的虚拟内存空间,安卓系统和众多APP需要在前台运行才能和用户产生交互,在使用手机的过程中会产生虚拟内存碎片化,日积月累之后的碎片会严重影响用户体验。

  为此,OPPO首创了「内存反碎片化引擎」。

  可以先看看账面上的数据,OPPO Find X2 Pro因为搭载了这个「内存反碎片化引擎」,所以系统出现物理碎片化管理的次数下降了99%,因虚拟内存碎片化导致的黑屏、卡顿、闪退的几率下降了93%。

  在搞懂OPPO的「内存反碎片化引擎」之前,可以先了解一下什么是“内存碎片化”。举个例子:

  房东有两栋房子,每栋房子都可以住10个人,总共可以住20人;

  此时来了两个互不相识的旅客,两个人被分配进两栋房子,此时两栋房子各可以住9个人,总共可以住18人;

  过了半个小时,来了个旅行团10个人,他们要求10个人要一起住在一栋房子中,但是此时就无法及时分配房子给旅行团了。

  从这个例子,我们可以看到房东的房子还可以住18个人,但是为什么十个人的旅行团都没法分配?这就是因为旅行团要求必须10人住一栋,而前面两个旅客却已经占据了两栋房子的床位。

  而从内存角度出发,概念也是类似的,系统完整的内存就如例子中的两栋房子,为两个旅客分配床位就像小内存分配,而为旅行团分配床位就像大内存分配,由于小内存“污染”了整体的内存,导致明明系统有足够的内存,但是却分配不出大内存,其中物理内存和虚拟内存针对上面的情况有不同的处理方式:

  物理内存:会进行内存碎片化整理,还是上面酒店的例子,酒店会劝说一下单个旅客换房间,如果换成功,就会有一栋房子能满足旅行团10个人的住房需求,但是这个过程由于协调旅客,会导致旅行团入住过程比较久,反应到系统就是大块内存分配比较慢,机器就可能出现卡顿;如果酒店劝说失败,单个旅客不肯搬房间,那就无法满足旅行团的需求了,反应到系统就是大块内存分配失败,可能导致卡顿等问题。

  虚拟内存:直接申请虚拟内存失败,反应到机器,可能出现应用黑屏,闪屏甚至是闪退。

  根据李工的介绍,虽然目前全球多个手机厂商都有涉及内存碎片化的优化,但是OPPO在ColorOS 7.1上的「内存反碎片化引擎」属于业界首创,效果显著。并且以后搭载ColorOS 7以上版本的机型都会有这个功能,同时针对部分ColorOS 6版本的手机,还会有不同程度的功能下放。几乎等于说,该创新优化会助力极大部分OPPO手机实现性能提升。

右侧的是采用了「内存反碎片化引擎」,启动速度提升明显

  目前大部分厂商针对内存碎片化的优化方案并不突出,物理内存碎片化问题尽管大家都已经发现了,但是目前也没有很好的根治方法。而OPPO的「内存反碎片化引擎」,则是在尽量改善物理内存碎片化的基础上,对“虚拟内存碎片化”进行了独家的优化。

  OPPO的反碎片化管理,简单来说,就是做到了预防内存碎片化的出现。通过使用「内存反碎片化引擎」,可以实现:

  物理内存:降低了99%的内存碎片化整理次数,并且大块内存的分配速度提升18%;

  虚拟内存:降低因为虚拟内存碎片化导致的黑屏、卡顿和闪退的几率93%。

  目前,这个功能主要在部分平台上面实现,后面会尽快陆续上线OPPO所有平台。并且这个功能并不会带来功耗方面的增加,也不会造成什么负优化的情况,真的是良心升级,“加量不加价”了。

  不过,碎片化整理次数降低多少,其实大家不一定能感受得到。但OPPO官方给到的另外一些重要的升级数字,如虚拟内存碎片化导致的闪屏、卡顿、闪退的几率降低了93%,大块内存申请速度提升18%等,从这些数据看来,已经十分明显了。

  目前OPPO的优化机制是行业首创的 —— 相比于友商的“病了医治”优化机制,OPPO的机制更像是预防,我们知道“病了医治”很重要,但是预防生病才能将伤害降至最低。最终大幅提升手机长时间使用的流畅度。

  李工还说,关于内存反碎片化的本质需求,就是提高大块内存的分配成功率。目前现有的优化已经能很大程度优化中大块内存的分配成功率,但是对于特大块的内存分配成功率改善还没达到极致的优化,后续OPPO将陆续开展其他优化措施,提高特大块内存的分配成功率。

  通过了解「内存反碎片化引擎」,不难发现OPPO对底层优化技术的重视程度已经迎来了新的高度,手机厂商能做的并不仅仅是硬件上的堆叠,在驱动、底层、系统、软件的优化上同样应该有所作为。从安兔兔Android手机性能排行榜中可以看出,无论是旗舰机型还是中端机型OPPO手机都拿下了优异的成绩,ColorOS的优化起到了至关重要的作用。

  手机厂商只有在软件和硬件上共同发力,才是未来手机发展的正确道路。

为您推荐

加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多

手机论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品