因为 Android 机型普及了 2GB 甚至 3GB 的配置, 所以当 iPhone6/6 Plus 依然使用 1GB 内存的时候, 不少关注硬件配置指标的用户都泪奔了。 但是事实上, iOS 系统配置 1GB 内存依然运行流畅, 而 Android 系统用上海量内存, 依然卡卡卡卡卡, 这其中的原因是 iOS 和 Android 系统运行应用的时候, 有根本性的不同。
知乎的美国原版网站 Quora 上有用户解释道, Android 系统运行应用使用的是 Java 环境, 因此需要额外的内存来做垃圾回收 (garbage collection)。 也就是当一个 Android 应用结束运行之后, Java 需要额外内存来回收该应用占去的内存。 一般来说, 在内存充裕的系统上, 这个机制运行得还不错。 一旦运行大批不同的应用, 问题就出现了。
以下表格显示, 一个 Android 应用理论上使用一份内存, 但是事实上却需要四份到八份的富余给 Java 去做回收, 系统才能够达到流畅。 开很多 Android 应用会卡卡卡卡卡, 就是这个原因。
这样我们就可以理解为什么 Android 机型要配置海量内存了, 因为更多内存消耗更多电力, 自然厂商也不得不增加电池容量, 来保证续航时间。 而 iOS 系统从设计开始, 就不是这样的垃圾回收机制, 而是应用要求多少就分配多少。 所以 Android 旗舰机型是人前风光宣传自己海量内存加大容量电池, 人后暗暗辛酸落泪。