时间:2015-06-10来源:雨林木风pe工具作者:佚名
关于安卓手机为什么会比苹果IOS运行程序的流畅性体验要差,这是一个经常被大家提及和谈论的问题。经常有人抱怨,安卓手机4核的没有苹果双核的效率高,而且安卓手机的硬件配置是越来越高,而带来的实际体验却是提升不是很明显,长期以来似乎大家都已经对安卓免疫或是有了心理准备了,偶尔的卡顿也就勉强接受了,那么具体是什么原因致使安卓系统的体验不如苹果呢?
看似很简单的问题回答起来却是很难,一位资深安卓开发工程师曾经这样跟我说过,安卓系统成功在了开源本质,然而由于开源的本质却造就了一些麻烦的不断产生,卡顿仅仅是其中一小件事。所以说,致使安卓卡顿的原因有很多,就像我们常说的优化不好,仅仅是最轻的一个层面。
内存机制
由于安卓系统继承了Linux的内存管理机制,所以导致许多程序被缓存在内存中,仅仅预留一小部分,也就是内存预留阀值,如果系统打开的程序占用的内存大于预留的空间,会触发系统的进程调度策略,系统将自动释放之前所缓存的一部分空间,这是一个十分消耗系统资源的操作,如果一个程序频繁向系统申请内存,这时系统会选择性关闭部分程序,当然,频繁的申请内存就会拖慢系统,所以安卓系统的内存机制是卡顿的根源,无法改变。
系统运行机制
安卓所运行的程序多数是采用Java语言编写的,运行程序时需要构建出一个可以运行Java的虚拟机环境,这就是伟大的Dalvik虚拟机。当用户打开一个安卓程序时就一同创建了一个Dalvik虚拟机,打开多个程序就开启了多个Dalvik虚拟机,况且开启程序的时候还要进行编译这个操作,所以出现了卡顿,尤其是程序开多了之后。
尽管从Android 4.4开始谷歌方面加入了ART虚拟机,但是目前还没有得到所有应用的支持,所以效果不是很明显。
编程混乱
由于系统的开源性,以及支持C语言、Python语言、Java语言等为开发者提供了更多的便利,但是由于安卓程序开发不能像苹果IOS一样采用统一的编程语言,以至于安卓所运行的程序不能实现针对不同的硬件进行专一优化,同时每个程序员的编写风格不一致,导致程序内编码不统一,尤其是有的冗余代码很多,导致系统卡顿。
安卓的开源不像苹果APP一样,开发者可以通过提供优质的程序获取利润,安卓大多数的做法是植入广告,所以在程序开发过程中,过多的冗余代码、广告代码和适配代码的加入也会拖累系统。不同于苹果的是,安卓手机从入门级到旗舰机型全都使用同一个程序,所以开发者必须保证每一台设备的运行,以至于安卓的安装包普遍照比iOS的要大很多。
最常见的就是安卓手机如果安装一个大型游戏,需要额外下载一个“数据包”,这个数据包是针对某一个平台的设备进行CPU、GPU等硬件的唯一优化,所以安卓需要下载额外的数据包,反之苹果却不需要。
到这里,大家应该会明白系统的整体机制和开源性致使安卓照比iOS卡顿是主要的原因,当然安卓也在不断的进步,虽然现在的手机处理器采用4核甚至8核,更大的内存3GB、4GB,也许这样能够带来些许的流畅度,但是同时也加快了系统的耗电量,所以根本的问题得不到优化,卡顿的问题就得不到根本的解决。
2024-06-24
星露谷物语格斯喜欢什么礼物-星露谷斯喜好一览2024-05-10
阴阳师海胡须杖在哪刷最多-海胡须杖妖怪速刷位置2024-04-25
光与夜之恋兑换码最新分享(2024) 光与夜之恋兑换码大全原神最受欢迎的角色有哪些?游戏会根据不同的系别,定期更新角色。每位玩家的喜好都不同,但是也有个榜单可以去参考。下面是原神最受欢迎的角色(前六名)排行榜2024年的内容!...
2024-04-14
现代战舰这个游戏的画面做的非常的震撼,玩家们可以在游戏中轻松去进行多种体验,很多玩家不知道游戏中的兑换码是多少,下面给大家带来现代战舰兑换码2023 现代战舰兑换码永久有效,感兴趣的玩家们快来一起来看看吧。...
2024-02-23