安卓手机内存明明比iPhone大,为什么用起来更卡?

2019-09-20 09:02

  图片来源:苹果

  NEXTMIND

  经常玩手机的朋友可能都有一种感觉,安卓手机的内存明明比iPhone大很多,为什么用起来更卡呢?

  举个例子,今年才上市的三星S10+内存是8GB,而iPhone XS Max内存是4GB,仅是前者的一半。

  同为旗舰手机,运行的应用也相差不大,为何iPhone的内存少这么多?

  其实,原因就在于系统的构建上。

  据海外数码媒体makeuseof介绍,从一开始,安卓就被设计成支持不同的处理器类型,以及不同的硬件配置。通常来说,为一种系统编写的软件不能在另一种系统上运行,所以安卓必须“移植”到其他系统上,这涉及到重写不兼容的位。

  为了解决这个问题,安卓应用往往在Java平台上运行,Java的优势在于它有虚拟机,你能用Java编写一个程序,然后虚拟机在运行时"翻译"这些代码,以便它在任何系统上工作。

  但这一切是有代价的。

  因为虚拟机本身很复杂,需要大量内存来管理实际进程,还要保存正在执行的原始Java代码,外加系统实际执行的翻译代码。

  这意味着安卓手机在运行应用时需要足够大的内存,否则就可能卡死。

  另外,安卓系统的构建方式被称为“垃圾收集”,简而言之,每隔一段时间,系统就会清理内存中不再使用的数据并释放空间,这种方法虽然有效,但如果手机内存不够大,系统就会花很多时间来收集垃圾,所以让人感觉很卡。

  反观iPhone,它不需要系统移植,软件环境都是iOS,都基于ARM硬件架构,因此iOS不需要像安卓那样有虚拟机,所有APP都被编译成本机代码,并直接在硬件上执行。

  换句话说,没有虚拟机意味着不需要那么多内存,这就是为何iPhone的内存普遍小于安卓手机的原因。

  最后,安卓的内存由系统集中处理,iOS的内存由APP自己处理,不再允许APP占用他们想要的内存,而是根据需要自动分配和释放内存。

分享到:
© 2016-2018 新泰资讯 http://www.xtmjg.com/