Android手机内存都往3GB上奔了,为啥iPhone 6依然只有1GB,却还是那么流畅?这个问题说简单也简单,说复杂也很复杂。有人该回答了:“是苹果优化好呗!”说苹果好,里面本身就带着几分“Android呵呵”的意思。而事实似乎并非如此。iOS设备采取了与Android不同的内存垃圾回收机制,因此两者对运存容量的需求才有了很大的不同。 iOS与Android“处决”后台应用的方式不同
苹果是如何“收垃圾”的?
不管搭载的iOS还是Android,设备的运行内存都是有限的。在你开了一大堆应用程序,快要把内存占满的时候,为了维持正常运行,iOS和Android都会Kill掉一些后台进程,这个行为也称为“垃圾回收机制”。
但需要注意的是,iOS和Android“收垃圾”的方式不甚相同。iOS会依次把最老的应用直接关闭掉,所以很多朋友在切换到很老的后台App时会发现,它们都会从标题界面重新启动。
相比之下,Android的胆子则要小得多,它不会直接关掉App,而是筛选出其中的一些无用对象,率先把它们Kill掉,从而释放部分内存。但只要你不手动关,这些后台程序都不会自动消失。所以就算你今天上午只和基友聊了一句天,晚上再从后台调出微信,画面也肯定还停留在和他的那句基情对白上。
因此,苹果设备就算只有1GB运行内存,你正在用的App也绝对不会卡,而Android后台程序不会自动被关闭,需要提供更多的内存(2GB、3GB甚至更多)才能保证系统流畅运行。
内存需求小不是苹果牛掰的意思
虽然1GB用着也很舒坦,但说“苹果优化好”似乎不太准确,因为iOS和Android的垃圾处理方法并不是一个高端、一个土鳖,而是各有利弊。
iOS会无差别地关掉老应用,这意味着如果你正在玩一个大型游戏,那么可能微信、微博、QQ这些 软件就全都被关掉了。你若想切换回这些软件,就要经历一个相当闹心的启动过程。朋友圈发完了、微博也玩够了,这回天下该太平了吧?等等,但愿你的游戏还能回到刚才暂停的位置……
另外一个比较闹心的场景就是你在Safari浏览器里开了N个标签,1GB运存承受不住那么多的内容,于是非常自觉地把最老的几个网页给挂起了。如果那几个页面刚好是你填了一半的付款界面或者是写了一半的文章,那么…… 打开较老的标签页,内容可能会重新加载
那Android又是怎么坑爹的呢?这个就不用我多说了,想必用家们都深有感触:切换界面会卡、接电话会卡、解锁会卡,连看个照片都得等半天。
但是,Android的大内存也有得天独厚的好处,那就是不管你想开什么后台应用,它们都会把你上次干半截的事情完整地带到前台,不会连个招呼都不打就关了它们。尤其目前市面上具备3GB运行内存的Android手机,它们既能够保证大量应用同时运行,也能保持整个系统处在一个比较流畅的状态,整体的体验也还是可以的(开好几十个应用不关的除外)。
所以,iOS的“霸道型小内存”和Android的“人文关怀型大内存”其实都是各有利弊的,并不是简单的一个比另一个好的关系。 运存那么小,你以为苹果真的很满足?
苹果在iPhone 6和6 Plus上保持1GB运行内存,不单单是因为用起来不卡,其实也基于以下一些问题进行了考量:
内存耗电:更多的内存会消耗更多的电能,iPhone 6内存仅1GB,而且采用了LPDDR3低电压版模块,节能效果相当可观;
成本问题:升级到2GB或者更高,单台手机的制造成本并不会题号多少,但是对于一个出货量动辄好几千万的产品来说,那算下来可得损失不少钱呢!
用户需求问题:虽然存在着一些略显坑爹的关后台问题,但是果粉们早就习惯了,就算加大内存容量,整体体验的提升也不见得多明显。对于追求各方面性能均衡的苹果来说,单个指标不突出不算是缺憾。
其实说到底,在理想状态下,苹果也非常想让内存更大一些,毕竟用户运行多任务的时候,谁都希望能多开几个应用。苹果也意识到随着用户需求的提高,内存问题势必变得愈加尖锐,他们已然开始行动了:iPad Air 2升级到了2GB内存,这样一来,相信下一代的iPhone离大运存也不会太远了。
PS:iOS设备都2GB了,估计Android手机该往4GB上奔了……
|