为什麽 Android 比 iOS 需要更多的 RAM?

现在市面上推出的 Android 手机 RAM 配置越来越高,有些高阶、旗舰机型甚至比一些笔电还要高,而且还是一种常态现象,举例来说,Pixel 6 Pro 配置 12GB,iPhone 13 Pro 则配置 6GB RAM,iPhone 13 仅靠 4GB 就能撑全场,效能上却不分上下,这到底是为什麽?

为什麽 Android 比 iOS 需要更多的 RAM?

在进入主题之前,我们先来了解什麽是手机的 RAM。RAM (Random Access Memory,随机存取记忆体)是系统的短期资料储存区,分为很多种类,但以智慧型手机来说所采用的是 SDRAM(同步动态随机存取记忆体),它与快闪记忆体不同,手机的 RAM 只能在手机启动状态时保留资料,本质上来说它是手机的工作记忆,包含设备在任何时间使用的资讯。

当手机的 RAM 越高,在工作记忆体中保留的东西越多,当你打开其它应用或是同个应用中的其他内容时,你的手机会为每个工作进程分配可用的 RAM。当你的 RAM  已经分配完没有剩余时,你的设备就必须决定结束那些进程来让所有正在进行的工作顺利运作。在其他条件相同的情况下,配备 8GB RAM 的手机会比 4GB RAM 的手机保持更多活动状态的进程,所以在 RAM 更高的手机上会觉得工作之间的切换更快。

为什麽 Android 需要比 iOS 更高的 RAM?

这个问题其实没有单一明确答案,但却有几个原因造成这种现象。
首先,Android 和 iOS 的建构方式不同,每年相较於 Android 手机市场的百花齐放,在 Apple 手上只有少量几款新 iPhone 和 iPad 推出,且系统都是在相似的硬体架构上运作。由於 iOS 应用程式只能在少数同质性晶片组上运作,因此可以利用所谓的原生程式语言(特别是 Swift 和 Objective-C)为这些晶片进行开发工作。为 iOS 应用程式编写出来的程式码可以不经转译就变成 Apple CPU 可理解的指令。

另一方面, Android 所支援的机型几乎是无限数量,这些机型所使用的晶片组来自四面八方,像是高通、三星、联发科和其他厂商,而它们架构各部不同,必须确保应用程式在每一种晶片组都能正常运作。由於无法确保与所有不同硬体设备的相容性,因此 Android 应用程式采用像是 Kotlin 和 Java 这样的程式语言所开发,这些语言可以转换成通用语言,然後二次转译成无视硬体环境只为软体运行的位元组码之後再传输给晶片组。与直接运行原生程式码的 iOS 相比,在转译後又进行二次转译成位元组码的过程需要占用额外的资源,这也就表示在 Android 和 iOS 上同时运行看起来相同的应用程式时,前者所需要的可用 RAM 更高。

两个作业系统管理 RAM 的方式还不太一样。Android 采用一种称为「垃圾回收」的记忆体管理方式,这个过程会定期试着清除 RAM 中不再使用的内容来释放资源。iOS 则是利用「ARC」来管理记忆体,根据引用它们的其他对象数量自动帮 RAM 中的物件分配一个数值,并且将数值达到 0 的物件删除。由於垃圾回收仅定期扫描未使用的物件,因此可能导致无用的资讯短暂累积在 RAM 中,相比之下,ARC 没有这个问题,只要侦测到不需要的物件就会从记忆体中删除。

更高的 RAM 是坏事吗?

由於 Android 和 iOS 作业系统的工作方式不同,对 RAM 的需求自然也不同。Android 作业系统比起 iOS 更灵活,无论是在哪款设备上都可以运行,开发者也更有作业弹性,不过这种灵活性就是需要更高的 RAM 作为代价,以获得与 iPhone 相似的效能。尽管 Android 可能需要更多的 RAM,但如果制造商能够提供价格与同级 iPhone 相近甚至更低的旗舰产品,那麽更高的 RAM 对用户来说并不一定是坏事,在消费者眼中更可能是一个排除价格因素之外的优势。

0 0 投票数
Article Rating
订阅评论
提醒
guest
0 Comments
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x