有些国产手机呼出后台的动画还是掉帧略卡没苹果跟手呢?
小伊评科技,希望帮到你
安卓手机究竟为什么没有苹果系统来的顺畅呢?可能这个问题也是很多手机爱好者的疑问,那么本文就好好的来讲解一下究竟为什么2019年了安卓系统的流畅性已然不能比肩IOS的原因,希望可以给大家答疑解惑。
(一)安卓阵营碎片化十分严重,性能差异巨大谈到安卓碎片化,严格来讲是指安卓系统迭代的不统一性。但是笔者这里要说的是搭载安卓系统的手机在性能上存在巨大的差异的问题。比如我们就拿目前活跃在安卓手机阵营的骁龙660和骁龙855来说,后者的性能几乎是前者的三倍之多。而性能是决定手机流畅度的一个重要指标,所以安卓阵营手机的流畅度本身就存在了巨大的差异性。像极了我们的阶级制度,等级森严,你千元级别的手机性价比再怎么优秀,系统流畅度也绝对不可能和同代旗舰手机相提并论。此外中低端的安卓手机普及率却出奇的高,大部分安卓用户在日常生活中接触到的都是中端或者中低端的安卓手机,体验自然算不上多好。所以就会给人一种安卓就是卡的感觉。
而苹果阵营则不然,苹果阵营一年只有一款SOC,产品都是定位旗舰,所以不存在碎片化的问题。况且每一代的苹果SOC性能都是当年的王者级别,对比当代旗舰安卓都略胜一筹,就别提那些中端手机了。
所以由于安卓碎片化的问题也就导致了人们对于安卓的看法有所偏差。其实目前旗舰阵营的安卓手机流畅性是很高的。系统软件的启动速度基本不输于IOS,但是在跟手度上以及动画切换效果上依然不如IOS,那究竟是因为什么呢?我们来接着谈。
安卓阵营系统差异化巨大(二)安卓系统本身执行效率低下安卓底层是基于Linux系统开发,IOS是基于Uinx系统开发,其实从底层上来讲两款系统没有明显的差别。但是问题就出在安卓的应用层是采用Java语言平台实现的,而Java就是造成安卓卡顿不跟手的一个重要原因。Java最大的优势就是其跨平台性,因为Java对于信息的处理都需要通过内置的虚拟机来解析指令,这样就可以保证其跨平台的优势,但是缺憾就是效率低,需要大量运存来协助执行任务。而IOS采用的Objective-C编码则无需通过虚拟机来解析命令,直接可以和系统层传递信息,那么相比安卓系统自然执行效率更高。尤其是在中低端的安卓手机上,速度差异更大。
(三)系统优先级不同如上图所示:左侧华为Mate20pro和IphoneXsmax 大家明显可以看到,华为Mate20软件启动速度更快,但是就是感觉动画效果没有IOS那么跟手。这是因为安卓系统对于一个事件的处理流程是—Application--Framework--Library--Kernal,也就是先处理软件本身,再处理UI视觉反馈效果。而IOS的顺序则是Touch--Media--Service--Core也就是优先反馈视觉反馈,随后处理软件进程本身。
通俗上来讲,就是当你点击软件的那一瞬间,IOS是不管应用启动没启动先给你一个动画的反馈,然后才进行事件本身的处理。而安卓则是像电脑一样(WIndows加载小沙漏大家都记得把)先在后台对程序做一个处理,然后再给你返回一个动画的效果。虽然在目前的手机性能下速度差别很小,但是依然会有毫秒级的微弱差别,给人的视觉反馈自然就不太一样了。这可能也是目前高端安卓手机和同时代苹果手机系统流畅度有差别的一个重要原因。
(四)苹果手机闪存性能更加优秀:苹果阵营搭载的是NVME文件管理系统相比于目前安卓阵营主流的UFS2.1文件管理系统,速度更快,更稳定而且效率更高。缺点么只有一个那就是贵,而且基本被苹果垄断。我们可以参考下图苹果闪存跑分,可以看到,苹果手机的优势是相当巨大的,对于安卓全家都是秒杀的级别。目前也只有最新的UFS 3.0能与之一战了。
总结:总而言之,由于系统底层层面的巨大差异,安卓系统的流畅性想要完全追上IOS系统尚不现实,毕竟安卓开源的特性也注定了其和IOS走的是两条路。其实华为的方舟编译器其实是让我们看到了一丝曙光,笔者预计在未来几年内,安卓一定可以解决执行效率低下的问题,到那时,安卓手机就可以和IOS一战了。笔者始终认为,开源的系统才是未来发展的主流。我们拭目以待吧。
end 希望可以帮到你