首页 > 学院 > 常见问题 > 正文

安卓为什么比苹果卡 安卓比苹果卡是什么原因

2019-12-24 01:49:34
字体:
来源:转载
供稿:网友

  安卓为什么比苹果卡 安卓比苹果卡是什么原因。安卓手机比苹果系统卡是不争的事实,苹果好就是在于优化,稳定性,流畅度,安卓手机尽管配置高,但是还是容易高配低能,下面小编就分享下安卓比苹果卡的一些原因,希望各位看完。


  安卓为什么比苹果卡 安卓比苹果卡是什么原因


  看似很简单的问题回答起来却是很难,一位资深安卓开发工程师曾经这样跟我说过,安卓系统成功在了开源本质,然而由于开源的本质却造就了一些麻烦的不断产生,卡顿仅仅是其中一小件事。所以说,致使安卓卡顿的原因有很多,就像我们常说的优化不好,仅仅是最轻的一个层面。


  内存机制


  由于安卓系统继承了linux的内存管理机制,所以导致许多程序被缓存在内存中,仅仅预留一小部分,也就是内存预留阀值,如果系统打开的程序占用的内存大于预留的空间,会触发系统的进程调度策略,系统将自动释放之前所缓存的一部分空间,这是一个十分消耗系统资源的操作,如果一个程序频繁向系统申请内存,这时系统会选择性关闭部分程序,当然,频繁的申请内存就会拖慢系统,所以安卓系统的内存机制是卡顿的根源,无法改变。


  系统运行机制


  安卓所运行的程序多数是采用Java语言编写的,运行程序时需要构建出一个可以运行Java的虚拟机环境,这就是伟大的Dalvik虚拟机。当用户打开一个安卓程序时就一同创建了一个Dalvik虚拟机,打开多个程序就开启了多个Dalvik虚拟机,况且开启程序的时候还要进行编译这个操作,所以出现了卡顿,尤其是程序开多了之后。


  尽管从Android 4.4开始谷歌方面加入了ART虚拟机,但是目前还没有得到所有应用的支持,所以效果不是很明显。


  编程混乱


  由于系统的开源性,以及支持C语言、Python语言、Java语言等为开发者提供了更多的便利,但是由于安卓程序开发不能像苹果IOS一样采用统一的编程语言,以至于安卓所运行的程序不能实现针对不同的硬件进行专一优化,同时每个程序员的编写风格不一致,导致程序内编码不统一,尤其是有的冗余代码很多,导致系统卡顿。


  安卓的开源不像苹果APP一样,开发者可以通过提供优质的程序获取利润,安卓大多数的做法是植入广告,所以在程序开发过程中,过多的冗余代码、广告代码和适配代码的加入也会拖累系统。不同于苹果的是,安卓手机从入门级到旗舰机型全都使用同一个程序,所以开发者必须保证每一台设备的运行,以至于安卓的安装包普遍照比iOS的要大很多。


  最常见的就是安卓手机如果安装一个大型游戏,需要额外下载一个“数据包”,这个数据包是针对某一个平台的设备进行CPU、GPU等硬件的唯一优化,所以安卓需要下载额外的数据包,反之苹果却不需要。


  到这里,大家应该会明白系统的整体机制和开源性致使安卓照比iOS卡顿是主要的原因,当然安卓也在不断的进步,虽然现在的手机处理器采用4核甚至8核,更大的内存3GB、4GB,也许这样能够带来些许的流畅度,但是同时也加快了系统的耗电量,所以根本的问题得不到优化,卡顿的问题就得不到根本的解决。


  以上就是安卓为什么比苹果卡 安卓比苹果卡是什么原因的相关知识,各位看完应该也了解2大系统的区别了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表