随着科技的发展,人们已经进入了信息时代,而手机就是信息时代的产物。近年来手机发展迅速,人们已经从功能机时代进入智能机时代。作为时代进步的见证者,我们也亲身经历了手机系统的更新迭代。 如今手机系统格局三分天下,以为苹果为代表的的iOS系统、以谷歌为代表的Android系统、以微软为代表的WP系统。当然相对来说WP系统其实只占据了一小部分的地位,主要的还是Android和iOS。 历史遗留:系统开放 用过iPhone和Android手机的用户可能都知道,iPhone手机不管怎么使用,总是特别的流畅,而Android手机用上一段时间就卡的要命。很多人把Android手机越用越卡的原因归结为系统优化不好,其实则不然。 这里就不过于长篇大论的介绍Unix和Linux这两个系统,只说一点那就是Unix相对于Linux来说比较封闭。而iOS和Android分别基于两个系统,也就是说iOS相对于Android来说比较封闭,也意味着制度比较严苛,相对开放的Android系统就造成了系统资源会被随意调用的问题,导致手机会越来越卡。 但事实上,开放也是Android能够迅速发展起来的一个重要原因,对硬件厂商的免费核对软件厂商的开源成就了Android,给进入Android智能生态圈的企业充分的盈利空间,是Android生态野蛮生长的主要原因。但是开放给了Android生机,也毁了Android的使用体验。 软件混杂:违规上架 开放意味着宽松,同一款应用上架iOS商店和Android商店的途径是不同的。就如上面的图所示,在iOS应用商店上架必须按照严格的规矩进行否则就不让上架。而Android系统因其开放性,应用想上架,即便不符合规则同样可以上架Android市场,即便是不能上架Google play也能在其余的各种软件市场进行上架下载。 相信很多用户也会遇到这种情况,本来只想安装一个软件,结果却安装了一套“全家桶”,尤其是APP内带广告稍微不注意点击去就开始下载软件。这就是由于Android开放的机制导致,虽然现在很多手机厂商已经针对这些现象做出优化,比如禁止连带启动、屏蔽广告等等,但是效果并没有非常显著。 JAVA虚拟机运行:启动慢、垃圾多 Android的流畅性难以保证,这是由系统机制决定的。Android程序都是运行在JAVA虚拟机上的,而不像iPhone手机那样直接运行在操作系统上。该虚拟机就像是个垃圾生成器和内存大老虎,会急速地消耗手机资源,生产大量垃圾,Android机会随着程序安装的程序越多,cpu能耗越大,从而越来越卡。 这也是为什么同一款软件,Android手机启动速度没有iPhone快。即便是用上再好的处理器,再高的运存也拼不过iPhone手机。而且时间久了手机内存会越来越小,文件管理器中有许多许多的未知文件,难以清理。 手机调校:治标不治本 针对Android手机越来越卡的现象,许多软件厂商以及手机厂商也对Android系统进行了优化,也就是所谓的手机调校。 在Android4.4以后规划中,Android将应用程序的运行模式由Dalvik换成了ART,其原理简单来说是“预编译”效果,即当一款应用程序在第一次被安装到Android时,它的字节码就已经被编译成为了本地的机器码,减少后续运行应用程序时的启动和执行时间。 根据Google自己公布的结果,在不同的性能测试App中,ART的速度对比Dalvik的平均提升幅度达到了80%,在某些项目中,ART的提升幅度甚至超过了1.5倍,这个结果可谓非常喜人。可是这个模式也有一个不好的地方,那就是“预编译”会增加安装时间,并且会造成安装完以后程序数据成倍增长,进一步增加了手机内存方面的压力。 还有一方面的调校就是来源于系统UI的调校,ROM厂商主要的优化工作,也是对Linux动刀,打上各种补丁,使其底层语言能够更好的适配到各种手机终端上。但这种方式也时捉襟见肘,没有什么实质性的作用,而真正让用户体验到的却是手机ROM越来越臃肿,反应越来越迟钝。 将应用程序的运行模式由Dalvik换成了ART以后,其实大部分还是对原生Android起到了一定的作用,对于国内深度定制的UI并没有太大影响。因为国内UI实在是太臃肿了,本地化功能引入的非常多,及时ART模式有改进,但是也应该已经淹没在定制UI的臃肿之中。原生Android流畅度完爆定制UI系统。 标本兼顾:Android闭源 其实最有效的方法就是Android闭源,闭源意味Android手机市场统一机制将更加完善。所有的软件都将严格按照谷歌制定好的套路来走,这样首先就是解决了Android市场混杂的局面,如果各种软件遵守规则那么Android手机在使用过程中多开一些软件也不会卡顿。 从Android6.0开始,谷歌就已经对权限的管理加强,一些基层的权限代码已经不在开放了。而从Android 7.0 Google发布的兼容性文档来看,对硬件及软件的规范要求也越发的严格了。比如:不支持各种快充协议,统一采用 USB组织的方案,不接受调用 Vulkan API 应用程序接口、分屏多任务必须符合 AOSP 规范、必须支持来电阻止、强烈建议加入屏幕分辨率调节,以及规范了语音耳机操作规范等。 所以纵观整个Android的发展历程,想要在近期内一下解决Android手机越用越卡的现象是不可能的,而且要想根本上解决问题,就得靠谷歌的强制闭源。谷歌也可以从根本上改变一下Android的运行机制,不过这显得太繁琐了,是否会有众多厂商配合并不能保证。如果强制闭源又是否会有厂商进行跟进也无从知晓。 虽然谷歌在慢慢的收回权限,但是也许要Android十几年才能完全控制闭源。就目前来说最好的方法还是应该从APP开发者入手,如果说每个软件都自觉遵循Android的运行制度,积极回应谷歌的版本更新,那么Android机越用越卡的现象肯定会得到改善。 |