这就是为什么iOS设备比Android设备使用更少的RAM的原因

iOS和Android之间的战争一直持续到今天。显然,有充分的理由跌落在篱笆的两侧,但这并不能阻止人们(包括我们)无休止地比较两者,以找出哪个更适合我们的需求。

我们已经已经探讨了哪些移动操作系统更安全以及为什么iOS应用通常比Android应用更好的问题。但是,您可能没有注意到以下内容: iOS设备通常只有Android设备一半的RAM(或更少)。为什么会这样呢?

比较iPhone与Android上的RAM

对于本文,我们将介绍多个制造商提供的一些最新的顶级Android设备并将它们与iPhone 8,iPhone 8 Plus和iPhone X并排放置。

这些都是2017年代的Android设备,代表了目前智能手机消费者中最好的设备。如您所见,这些RAM规格繁重,将花费您一分钱。这些设备的价格预计在650美元至1,000美元之间。

要让您了解8GB RAM过多的情况,请记住,大多数现代笔记本电脑都没有那么多。例如,大多数2017年以前的Chromebook的最高容量为4GB,只有少数几个机型甚至提供8GB的版本,甚至那些高性能的8GB Chromebook仍然比这些Android设备便宜!

公平,只有OnePlus 5T带有8GB。但是我的意思是:如果Android设备不需要那么多的RAM,对吗?如果最新的Android设备配备了4-8GB的RAM,那么iPhone有多少RAM?

请等待一分钟。这是怎么回事?在苹果公司的2017年代iPhone系列中,“入门级" iPhone 8仅看到2GB,较大的iPhone 8 Plus仅看到3GB,最新和最大的iPhone X仅看到3GB。Apple最高型号的RAM少于较弱的Android选项!

顺便说一句,这些都不是新功能。 iPhone 7 Plus在2016年为iPhone系列引入了3GB的RAM。iPhone7,iPhone 6s Plus和iPhone 6s均可以2GB的速度运行,而没有任何问题。而且可以像其他后续版本一样运行iOS 11的iPhone 6只有1GB。

严重的是,这是怎么回事? 2014年代的iPhone 6如何仅以1GB的内存运行最新版本的iOS,而Android则需要多达8倍的内存?

为什么Android设备需要那么多的内存

从一开始,Android就被设计为支持许多不同的处理器类型,许多不同的制造商以及许多不同的硬件配置。通常,为一种系统编写的软件不能仅在另一种系统上运行;必须将其“移植"过来,这通常涉及重写不兼容的位。

为解决此问题,Android应用程序始终在Java平台上运行。 Java的虚拟机很漂亮:您可以用Java编写一次应用程序,然后虚拟机在运行时“翻译"该代码以在其所运行的任何系统上运行。 Java虚拟机无需亲自编写和重新编译代码,而是为您处理代码。

但这要付出一定的代价。

Java虚拟机很复杂,需要很多资源内存,不仅可以管理虚拟机本身的实际进程,还可以保留执行任何应用程序的原始Java代码以及系统实际执行的已转换代码。

一方面,多年来,Android中的虚拟机已经得到了改进,并且不需要像以前那样需要那么多的RAM。另一方面,Android应用程序正变得越来越先进(可以说甚至是肿的),因此需要更多的RAM才能运行。后台进程也需要RAM,这在Android应用程序中很常见。

最后,Android操作系统是围绕一种称为“垃圾回收"的方法构建的。实际上,鼓励应用程序使用尽可能多的RAM。他们需要。然后,Android会不时地清理RAM中不再使用的数据(“垃圾")并释放它,以允许其他应用使用。此方法虽然有效,但在有大量RAM可供使用时是最佳选择,否则系统会花费太多时间来收集垃圾。

由于这些原因,我们建议在Android上至少使用4GB RAM如果您在乎流畅的性能。如果您不这样做,那么最低应为2GB。

为什么iOS使用的RAM不像Android那样多

Apple对整个iOS生态系统施加了更大的控制权。如果要使用iOS,则只有一个电话选项:iPhone。如果要创建iOS应用,则必须使用Apple的工具并按照Apple的方式进行操作。苹果用拳头统治。

这样做有很多好处。

因为苹果知道每台设备的 exact 规格,运行其操作系统,他们可以做出相应的设计决策。例如,虽然Android需要支持多种处理器类型,但iOS始终在基于ARM的硬件上运行。

因此,iOS不需要像Android那样具有即时翻译功能的虚拟机。 。所有应用程序均编译为本机代码,并且该代码直接在硬件上执行。无需虚拟机就意味着总体上使用的RAM大大减少。

此外,iOS拥有不同的内存管理方法。 Android内存是由操作系统处理的,而iOS内存是由应用程序本身处理的。 iOS应用程序不再允许应用程序占用想要的大量RAM并在不再使用时释放它们,而是根据需要自动分配和释放内存。

简而言之,仅是因为iPhone的内存更少RAM并不意味着它们具有较差的性能。 iOS具有不同的内存管理方法,因为它不像Android那样依赖虚拟机。

标签: Android 硬件提示 iOS