Android手机内存都往3GB上奔了,为啥iPhone 6依然只有1GB,却还是那么流畅?

 绝大部分数码设备都具备内存模块,为了让用户快速获得更快的访问速度,这种硬件是必需品。也正因为如此,Android设备才一而再、再而三地提高运存容量,目前主流的甚至已经达到了3GB。那有人就问了,iPhone 6为啥还敢坚持1GB运存?关键是,1GB居然还不卡?
这个问题说简单也简单,说复杂也很复杂。有人该回答了:“是苹果优化好呗!”说苹果好,里面本身就带着几分“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或者更高,单台手机的制造成本并不会题号多少,但是对于一个出货量动辄好几千万的产品来说,那算下来可得损失不少钱呢!

用户需求问题:虽然存在着一些略显坑爹的关后台问题,但是果粉们早就习惯了,就算加大内存容量,整体体验的提升也不见得多明显。对于追求各方面性能均衡的苹果来说,单个指标不突出不算是缺憾。

这里面就再不展开了,再说估计这期《产品家》就没法在iPhone的后台中存活了。其实说到底,在理想状态下,苹果也非常想让内存更大一些,毕竟用户运行多任务的时候,谁都希望能多开几个应用。苹果也意识到随着用户需求的提高,内存问题势必变得愈加尖锐,他们已然开始行动了:iPad Air 2升级到了2GB内存,这样一来,相信下一代的iPhone离大运存也不会太远了。

PS:iOS设备都2GB了,估计Android手机该往4GB上奔了……

iPhone 6 为何坚持1GB内存?的更多相关文章

  1. iPhone应用中如何避免内存泄露?

    如何有效控制iPhone内存管理的对象的所有权与引用计数和以及iPhone内存的自动释放与便捷方法.本文将介绍在iPhone应用中如何避免内存泄露.想了解“在iPhone应用中如何避免内存泄露”就必须 ...

  2. [转帖]论iPhone处理器十年进化史

    论iPhone处理器十年进化史 导读: 今天,苹果发布了最新一代的iPhone,作为新一代的旗舰,新手机的功能承载了苹果对未来的希望和消费者的期待.但从我们半导体人看来更关注的是内部技术的演变,尤其是 ...

  3. powershell中使用超大内存对象

    powershell中使用超大内存对象 简单介绍了powershell中超大内存对象的用途,开启powershell超大内存对象的办法. powershell 传教士 原创文章 2016-12-31 ...

  4. 图解VMware内存机制

    在写<VMware内存机制初探>之后,原本是计划写一篇<VMware内存机制再探>的,讲一讲VMware内存机制中的另外几个重要内容,比如透明内存共享(TPS, Transpa ...

  5. S5PV210的内存分配研究分析

    S5PV210内存一般会使用SDRAM和DDR2 (DDR SDRAM),SDRAM的uboot启动网络已经有很多资料的,对于DDR2还有有很多疑惑,如果有错误的地方,请大家一定指出,醍醐灌顶,不胜感 ...

  6. 获取iOS设备的内存状况(转)

    转载自:http://mobile.51cto.com/iphone-285371.htm   iPhone这类移动设备内存有限,而又不能使用交换区,为了不至于导致内存不足而引起运行效率降低或应用崩溃 ...

  7. 美国VPS推荐1GB 50GB可以win

    今天向大家推荐一款vps,1GB内存 50G硬盘 8M带宽 不限制流量,并且可以安装windows,年付才290元. 购买链接:http://www.jinbaoidc.com/page.aspx?c ...

  8. 修改win7注册表发挥大容量内存优势

    现在请打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control \Session Manager\MomoryManagement ...

  9. Spark内存管理-UnifiedMemoryManager和StaticMemoryManager

    在Spark-1.6.0中,引入了一个新的参数spark.memory.userLegacyMode(默认值为false),表示不使用Spark-1.6.0之前的内存管理机制,而是使用1.6.0中引入 ...

随机推荐

  1. Swift 函数和类

    函数: func sayHello(personName:String,z:Int)->{ return "hello"+personName+z } print(sayHe ...

  2. 《javascript dom编程艺术》笔记(一)——优雅降级、向后兼容、多个函数绑定onload函数

    刚刚开始自学前端,如果不对请指正:欢迎各位技术大牛指点. 开始学习<javascript dom编程艺术>,整理一下学习到的知识.今天刚刚看到第六章,记下get到的几个知识点. 优雅降级 ...

  3. css透明背景兼容方案

    css透明是一个技术活,因为这里面涉及到了IE8及以下版本不兼容opacity这个css3属性,而filter:alpha(opacity=80)这个值则是不兼容IE6.网上比较流行的透明css是这样 ...

  4. Javascript 匀速运动——应用案例:网站常用功能分享到

    网站上会经常用到Javascript 中的运动,这次与大家分享一下一些运动的基本应用 . 方便大家在开发中能够直接使用. 代码简单易懂,适用于初学者.最后会一步一步整理出一套自己的运动框架. 应用案例 ...

  5. 内存(MRC)

    一.计数器的基本操作1> retain : +1, 方法返回的是对象本身2> release :-13> retainCount : 获得计数器4> dealloc  * 当一 ...

  6. iphone:自定义UIAlertView

    由于项目中有这样一个需求:需要在保存是弹出框选择保存的地点.选择UIAlertView来实现,但是要在UIAlertView中增加UISwitch的控件,这就需要自定义一个继承UIAlertView的 ...

  7. Esxi主机虚拟机迁移注意事项

    1. Esxi主机上的虚拟机迁移只能是低----->高,或版本一样的才能进行迁移 [如Esxi5.1---->Esxi5.5]ok, 而Esxi5.5----->Esxi5.1 no ...

  8. SpringMVC 中整合之JSON、XML

    每次看到好的博客我就想好好的整理起来,便于后面自己复习,同时也共享给网络上的伙伴们! 博客地址: springMVC整合Jaxb2.xStream:  http://www.cnblogs.com/h ...

  9. 对Msn协议的一点点研究

    这个也是好奇msn的协议还是2011年的时候写的, 就在网上找啊找啊, 可惜要不是不能用就是C++代码还有就是不完整, 到最后我也没弄成功,只到了下面这步就挂掉了...... 登录成功<=SBS ...

  10. IE添加信任站点并设置允许ActiveX控件的VBS脚本

    Set objFSO = CreateObject("Scripting.FileSystemObject") Set WSHShell = CreateObject(" ...