这些死穴堵上了 Android卡顿问题即将得到解决

不知不觉,智能手机出现在我们生活中已经有八年时间了,而移动设备操作系统也在这八年时间里迎来了数次洗牌,可是站在今天回望过去,只有Android和iOS两个操作系统在大风大浪种存活了下来,以前的WM、WP、Ubantu、BlackBerry OS和老用户最为熟悉的Symbian都已经山河日下。

 2630377_os (2).jpg

而在iOS和Andriod哪个是最优秀的操作系统这个问题上,一直以来都是争议不断,对于iOS,有人说它过于封闭用起来虽然稳定但是太过无趣,而对于Android,长时间使用后的卡顿和系统的统一性、连贯性不足也是被诟病很久的问题,但是最近,Android厂商们都开始了自己的反击,声称已经解决Android系统长时间使用后卡顿地缺点。

 

首先,我们需要知道为什么Android之前很容易卡顿。关于这个答案,一直以来都是众说纷纭,有人说Android卡是因为系统资源分配不均,有人说是因为用的越久垃圾文件越多,其实这些说法都有道理,但是都没有说到最基本的根源上。

 

程序运行机制——已经发生了改变

 

首先,Android系统在以前其实是一个虚拟机系统,我们知道程序员对Android上APP的编写过程都是通过Java语言完成的。虽然Android是基于Linux环境开发的操作系统,但是在运行Java编译的程序时,还是要事先构建出一个可以运行Java语言的虚拟机环境,所以在之前的Android系统中,都存在一个Dalvik虚拟机制。

 QQ截图20161103145518 (2).jpg

在之前的Dalvik虚拟机制下,Android每个程序在运行时,都要先创建一个Dalvik虚拟机环境,然后将程序放在虚拟机上运行,你开的程序越多系统负担就越大,手机就越卡。更蛋疼的是用户每次使用一款软件,该软件都需要先在Dalvik虚拟机中进行编译,这意味着如果将程序关闭,下次打开时还需重新进行编译,系统执行效率可想而知。所以在这样的虚拟机环境中,Android想不卡都难。

 

所以谷歌在Android 4.4版本的操作系统中第一次加入了ART模式,全称是Android RunTime,在ART环境下,Android只在程序安装的时候进行一次编译,将程序的Java语言转化为适合Android系统运行的机器语言,然后将编译后的程序存储下来,以后每次运行该程序都直接调用编译后的程序,这样就避免了程序每次运行时,都要重新编译的麻烦了。

 QQ截图20161103145707 (2).jpg

并且在Android 5.0 Lollipop中,ART架构完全取代了之前的Dalvik架构,之前的低效率编译正式成为了过去,但是ART模式带来的问题就是编译后APP的程序大小会变大,对于手机的存储空间的要求也变高了,但是在今天这个手机普遍标配64GB的时代,应用所占空间变大应该并不是什么大问题。在之前Android L刚刚推出ART模式的时候,很多应用都还没有来得及适配,但是在现在Android 7.0时代,ART模式的优点已经完全体现出来了,很多Android手机的系统运行效率已经有了极大的改善。

 

资源调度问题——暴力手段解决

 

由于系统的开源本质,Google无法从代码这一端口约束第三方的应用程序,这导致了Android系统应用质量参差不弃,并且在Android手机中,不同的应用在公平调度下分配CPU、GPU、内存和存储空间等手机资源,导致各种应用都极力地想为自己争取更好的运行环境,普通的软件都这样,更别说那些流氓软件了,这些软件甚至关都关不掉,自动唤醒机制和无限自启动相当于天生就霸占了一部分系统资源,小编说的什么大家都应该明白。

 27527Z5GQ2IE (2).jpg

并且Android系统的应用大家都知道是真正的后台,程序在进程活动停止后都会保留在内存中,直到系统需要更多内存再释放这部分资源。所以内存对于Android系统是非常重要的一项配置,我们近年来也看到Android手机上运存的大小越来越大,旗舰机型从3GB一口气冲到了6GB,要知道Windows XP这个桌面操作系统都只需要2GB就可以流畅运行了!

 QQ截图20161103151004 (2).jpg

就是因为Android系统的这个先天“缺陷”的存在,而谷歌在这方面又完全没办法像苹果那样控制住应用质量,所以堆硬件成为了最好的方法。除此之外,我们在近年来的Android系统中也看到了自启动管理和应用授权等控制第三方软件的方法出现,虽然不像iOS那样效果显著,但是对于应用调用系统资源也有了一定的有效管理。

 

系统碎片化问题——厂商的整合、优化工作还需努力

 

Android系统的碎片化和我们平时说的Window系统磁盘碎片整理可不是一回事。和iOS一个系统只对几台手机优化不同,搭载Android系统的手机没有上千也有大几百台吧,即使是搭载完全相同的硬件,在不同品牌的机器上,应用的运行速度、软件兼容性都会有区别。一个为指定硬件定制优化的系统与一个要在上千种奇葩配置上跑起来的系统相比,结果会如何不言而喻吧?所以我们也看到现在各家厂商都不约而同地放弃了机海战术,希望能够把主力机型的系统和硬件匹配做到最好。

 nqhcuj.JPG

并且Android手机在长时间运行后,会产生很多缓存小文件,如:图片、小视频、表情,并且很多Android手机用户还会将文件保存甚至是应用存在SD卡中,这无疑加重了系统检索数据的工作量,并且这种“碎片”一样的文件越多,虽然NAND Flash并不会有磁盘那样的碎片化,但是也会出现所谓的“脏块”,导致速度有所下降。华为之前就在Mate 8上使用了文件整理功能,在夜间闲暇时间,对手机做碎片化检测,并启动碎片化整理。这最多可以使手机的读取性能提升达30%。

 QQ截图20161103151100 (2).jpg

其实在以上三点都比从前有了很大改善的情况下,部分Android厂商的手机在卡顿等问题上已经不像从前那样严重了,甚至在长时间的使用中达到了iOS使用体验的标准,我们也看到愿意从iOS转投Andriod的用户也越来越多,几年前的移动操作系统市场基本上是Android和iOS平分秋色,但是根据最新的消息来看,Andriod现在的市占率已经达到了恐怖的88%,不知道苹果现在的iOS,最终会不会沦为像Mac OS那样的“小众”系统呢?


【本文图片来自网络】

踩(0)

最新文章

相关文章

大家都在看