有的说是内存消耗过大,有的说是CPU性能差,但是就笔者而言,也遇到过安兔兔跑分5万多分的2.2Ghz以上的大小四核同时运行的八核手机,启动一个简单的股票应用操盘手要20秒以上的情况。
那么手机卡顿到底是如何引起的呢?笔者就仔细分析一下。
引起手机卡,这个表象的背后原因是很多的。跑分虽然可以5万、6万,但是实际性能却往往是某一个方面的瓶颈引起的。典型的是网络、闪存、单核心占用、总线、端口冲突等。下面就一一分析。
1、网络卡顿
主要问题出现在有些应用为了置入广告等信息,往往在联网过程中会调用非本APP的服务器的其他IP地址的数据(一般是第三方的广告服务),而一旦这些广告连接的服务器无法访问或者程序出现问题,就会导致整个应用卡顿,用户往往蒙在鼓里,还不知道自己的应用在背后动作。
另外,很多应用尤其是游戏,启动的时候会自动升级,但是多数的知名游戏,尤其是步入成熟期和衰退期的游戏,为了自己利益最大化,在升级的时候,往往自动或误导性让用户安装其他的App,这种更新背后安装其他游戏或应用的方法,由于第三方的app下载或安装可能存在问题,也会导致卡顿。
网络卡顿还体现在一些App,即使不运行,其在后台仍然常常活跃,搜集用户位置、电话号码、私密短信等隐私信息。由于这些后台程序要不断尝试联网传送数据,因此在网络不好的情况下,也会造成整个手机卡顿。如果用户对3Q大战还有记忆的话,就会明白当时360指责QQ上传用户的上网习惯。此外,包括小米、联想等手机在海外受到的隐私泄露指责,也是类似问题。不过由于中国的特殊国情,隐私在中国内地是一个敏感问题。因此在社会公众的监督缺位下,一些国际知名应用甚至只针对中国大陆用户的版本内置了获取隐私信息的程序。笔者认为如果要防备此类问题,应更多用国外版本,甚至国内软件的国际版本,毕竟在国外这些受到的监管要严格得多。
2、闪存的速度瓶颈
应用启动速度慢是很多人常见的,以前很多人将其归罪于Android程序在启动前本身的初始化。其实在目前硬件环境下,CPU和内存的速度已经相当快,启动的慢更主要是闪存的速度。至于闪存的原理这里不表述,只是建议大家在购买手机的时候,可以关注一下手机闪存的读写速度(安兔兔等评测软件都有这个项目)。而如果是外插的TF卡,建议购买速度更快的。
3、单核心瓶颈
很多人不理解目前的手机硬件。安兔兔跑分5万分以上的八核芯片为什么速度还慢呢?此前intel Atom核心的x86处理器,如果要安兔兔跑分5万以上,性能大约相当于目前主流笔记本的i5处理器的1/3。如果从性能评测来看,绝对是完全够用的,那么为什么和笔记本处理器在浏览大型网站(都采用PC界面)差距那么大呢?
原来很多人看手机,就是看核心数。认为核心多的性能好,不会卡顿。他们认为八核就处理器就比在多线程评测性能更低的iPhone6高才对。但是他们忘记了,系统的流畅性和几个核心关系是比较大,但是不是绝对。
其实。我们大部分重负载程序,使用的核心很少,往往就是1个核心。比如一些网页上复杂的脚本程序,是因为大量对数据的计算,由于缺乏优化,往往受制于主要运行的线程和内存。所以很多时候能利用上一个或者两个核心,能利用四个核心的就很少了,能利用上八个核心的凤毛麟角。所以某种程度上,速度快慢的并不是有几个核心,而是单核心或两个核心的速度!
从目前的核心来看,低端的核心如A7、A53,八核的1.3Ghz,评测得分安兔兔可以得到三万分,但是性能甚至不如2.3Ghz的A15的两个核心。这也是为什么很多高端手机还是四核的原因。而大小四核的高端手机,实际上性能提高并不大。因而更应该注意单个核心的频率和类型,这点iPhone和intel做得相对较好。
4、总线
有些朋友认为,手机就看CPU强、内存大。其实对于Android系统的手机运行速度快慢,RAM是自动管理的,大家可以发现,1G内存的手机启动完同样的程序占用60%内存,而到2G内存的手机占用50%,3G内存的占用40%,并不是等比例减少。其实关键就是内存调度方面,你再多的内存,系统都可以将预处理的程序和后台应用维持占用,以便高速的启动或唤醒。而最关键的运行速度是由CPU、GPU、RAM、ROM共同的协调处理来决定,CPU与GPU处理能力再强、RAM剩余再多都不是关键,关键在于各个方面的协调。因此可以看到同样基于Linux内核改造的iPhone的内存长期只有1G,速度感觉并不慢。而这个瓶颈是相对更复杂的,包括内存的带宽、GPU与CPU的数据带宽等等,总之就是硬件的协调,这点一般大厂商做得较好。
5、端口和设备冲突
比如希望启动MicroUSB读取数据的程序、希望启动GPS的程序等等,一般情况下,这些是系统服务提供。但是一些程序在取得ROOT权限后或者采用特殊的程序技巧,就会发生资源冲突,而一旦发生,在程序写得不好的情况下,就会傻傻的等待资源分配,从而导致卡顿。
总之,Android手机的流畅是多方面因素所决定的。是典型的水桶理论,短板决定了手机的卡顿。如果你出现了手机卡顿的问题,最简单的自我解决办法就是重新启动。此外安装安全软件和清理系统垃圾,定期对手机的广告插件扫描、定期卸载不常用软件。手机的性能就会有大大的改观的。
本文地址:http://www.cnonline.org/2015/article/12060.html