苹果iPhone和安卓手机之间的种种对比,已经是一个老生常谈的话题了。随着库克接手后的苹果越走越远,iPhone和安卓机的各项参数差异也一直在缩小,包括电池容量、屏幕尺寸或者相机的表现。但是唯有一点,目前iPhone和主流安卓机仍有2-3倍的差距,那就是手机的RAM(运行内存)。
不同于ROM(机身存储),RAM的大小几乎直接影响智能手机的使用体验。在主流安卓旗舰已经8GB内存起步,12GB成为常态的今天,最新的iPhone11 Pro仍采用4GB运存的方案,得益于墓碑机制的后台和服务器统一推送,让这样的内存配置至今不会造成太大体验上的影响。然而,这种影响真的不存在吗?
为什么iPhone的内存这么小?这里简单科普一下iPhone背后的技术原理,大神可直接跳过。首先很多人可能还不知道,大内存是并不是安卓机的惯例,而是国内版安卓手机的特例,留心可以去看看国外品牌的主流安卓手机,其实在内存上和苹果相差并不大。
最主要的就是,iPhone采用苹果服务器统一推送,日常的应用无需常驻后台,也可以实时接收来自苹果服务器的消息推送。安卓其实也一样,即谷歌服务器,但由于众所众知的原因,这项服务在国内并不能使用,所以国内的安卓只能让每个APP都尽可能保留信息接收的一部分内存占用,来接收新消息,并且有些高频使用的软件是完整保存在后台的。因此,国内安卓机需要更多的内存容量,造成了如今我们感觉两者在这方面的巨大差异(安卓机的软件可能会偷偷录音和打开相机,也因为这件事)。
还有一个原因就是苹果后台的墓碑机制,大多数APP仅保留了最后使用时的界面,其实本质上并非在后台运行。而这种机制从初代iPhone被沿用至今,在体验上并没有造成太大的影响,所以考虑到手机的成本,苹果始终在内存策略上采取“够用就好”的方案。
但是,iPhone的小内存真的对体验毫无影响吗?
可以确切的说,影响其实正在越来越明显。
比如很多iPhone用户在切换到微信等常用软件时,软件会出现重新联网的短暂等待,这种情况在习惯了安卓机换回苹果后会很明显的感觉出来。墓碑机制的后台,在今天智能手机“分秒必争”的环境下,已经开始逐渐暴露它不可弥补的缺陷。
大多数后台应用在切回到主屏时,轻则重新连接服务器(约等待3秒),重则重新载入启动页。这也是为什么之前吐糟iOS 13偷偷杀后台的直接原因。别看只是几秒的等待,出现次数多了也是很影响体验的一个现象,而且还是发生在以体验著称的iPhone上。
可以做一个试验,iPhoneX在启动中等大小的游戏后,退回主界面再去启动相机,大概率会发生之前的游戏被杀后台的情况。因为苹果的相机由于算法和成像效果的因素,其实是一个非常占用内存的APP。
苹果大幅提升内存只是时间早晚的事
很多人看到这里,绝的笔者说了句废话,苹果一直在逐年提升内存,这是众所周知的。但是我的意思不是像之前那样挤牙膏一样从2G-3G-4G这样的提升。而是直接提升到目前国内主流安卓旗舰的水平,可能会从4G直接提升到8GB甚至更高。因为本身墓碑机制的后台方案虽然还可以继续沿用,但是它造成的附加问题已经成为苹果不可忽视的问题了。从根本上来说,仅仅凭借软件优化并不能彻底解决应用每次重新联网乃至载入的问题。不排除苹果会利用其它硬件技术解决或优化这一问题,但最终苹果可能很难绕开大幅提升内存这条路。
反观目前越来越臃肿的应用和游戏,当主流软件的内存占用普遍超过2GB乃至3GB的时候,苹果可能再也无法让4GB内存的iPhone用起来显得流畅了。
苹果手机内存那么小,会不会卡?
不会
为什么iPhone的运行内存那么小却不会卡
主要原因的是IOS是单任务系统,不用那么多的内存的。站在开发人员角度讲:
1、iOS是基于OSX系统内核的,优秀的内存缓存核誉伍管理与生俱来,程序加载过程就比安卓快了。
2、程序一按HOME键退出,所有代码就被暂停挂起了,而不是在后台继续跑继续占用CPU。
3、可用内存不足的时候自动kill掉之前挂起的程序彻底释放内存。
4、iOS的应用都是原生代码开发的,编译的时候都是针对每种CPU优化的,不像安卓大部分应用都是Java的,需要Java虚拟机解释执行,等于运行的时候再编译一遍。这个改或谷歌一直在想办法优化虚册,现在已经改成安装过程中编译了,但改变不了要跑在Java虚拟机上的事实。