测评

·

7 min read

·

- Views

苹果与安卓的内存管理:谁做得更好?

iPhone 的内存往往比 Android 设备少?为什么会这样?

Copied

苹果与安卓的内存管理:谁做得更好?

暴增的安卓RAM

现在市面上推出的Android 手机RAM 配置越来越高,有些至尊、旗舰机型甚至比一些电脑还要高,而且还是一种常态现象,举例来说,Pixel 6 Pro 配置12GB,甚至ZTE nubia Z40S Pro已经干到了18GB

但是,随着安卓RAM的暴增,iPhone似乎有些云淡风轻,iPhone 13 Pro 则配置6GB RAM,而iPhone 13 仅靠4GB 就能撑全场,效能上却不分上下,这到底是为什么?

[object Object]
日益增长的手机RAM,可以看出安卓的爆炸

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

什么是RAM?

随机存取存储器(英语:Random Access Memory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。RAM工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。它与ROM的最大区别是数据的易失性,即一旦断电所存储的数据将随之丢失。RAM在计算机和数字系统中用来暂时存储程序、数据和中间结果

为何Android需要更多RAM?

主要技术原因

内存容量的这种差异让我们听到了这样的说法:"iPhone 优化得更好 "或 "iPhone 不需要像安卓手机那样大的内存"。这些句子似乎合乎逻辑,但事实并非如此简单。安卓手机使用更多内存与使用 Java 有关。

对于IOS vs Android,我们可以转化为Objective-C / Swift vs. Java / Kotlin,即所用语言的较量。

IOS主要使用Objective-C / Swift 语言,当开发人员为 iOS 开发应用程序时,应用程序将直接编译成可在 iPhone 处理器上运行的代码。这意味着代码是原生已知的,不需要任何其他虚拟环境或解释器即可运行。然而,Android 在这方面的工作方式有所不同。如前所述,Android 使用 Java。

Java 的座右铭是 "一次编写,随处运行",这对兼容平台的可见性有很多好处。当 Java 代码被编译后,它就变成了与处理器无关的中间件(Java 字节码)。相同的 Java 字节码可以在徽标处理器、x86 处理器或基于 RISC-V 架构的芯片上运行。

[object Object]
虚拟机运行过程

然而,Java 有一个缺点:每个操作系统和处理器组合都需要一个称为 Java 虚拟机(JVM)的环境来运行和理解 Java 字节码,并将其转换为中央处理器代码。它是通过解释来完成的,然后读取下一段代码,再以同样的方式执行其他代码。

随着时间的推移,人们开发出了各种技术来加快这一过程,如调出以前的代码片段、在本地时间编译、提前调度等。

然而,不管这些技术有多好,因为仍然存在两个问题:1.执行本地代码优于通过 JVM 执行代码; 2.使用 JVM(即使使用的是不成熟的编译器)会增加程序使用的 RAM

监管问题

大家都知道苹果有一套完整的消息推送机制, 你关掉app之后还是可以收到消息的,当然安卓也是有的,GCM(Google Cloud Messaging)消息推送服务,GCM消息推送依赖于谷歌服务,但由于国内用不了谷歌服务,使用不了GCM,所以关掉app就收不到消息了(不过由于一些流氓app会自启所以总是会收到一些消息推送)。当然也有一些厂商有自己的消息推送机制,比如小米推出的小米推送服务MiPush。尽管如此国内安卓的推送服务还是很混乱

在安卓发展的早期,由于国内安卓系统没了谷歌家的推送服务,加上系统限制又少,App 的开发者基本上是各显神通,靠着自己维护的推送通道保持着和用户的交流。

但是又出现了一个问题,用户总是习惯性的清理后台,导致后台的连接惨遭清除,长连接一断,还谈什么消息推送。

于是开发者们不得不绞尽脑汁去保住 App 存活,甚至还搞出了一种让服务隐藏到暗处的办法,最直接的影响就是手机常驻线程越来越多,占用内存也越多,尽管手机运存越来越大,但也总是越用越卡,耗电越用越厉害。

因此,这也不得不让安卓手机厂商增大内存。


哪个更好:安卓还是苹果?

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


可乐君今日到此一游,水文一篇,

无论如何,可乐君最爱安卓,

毕竟,能折腾的手机才是好手机。