日前在知乎上有用户发问称:智能手机,尤其是安卓手机,发现内存不够用是限制速度的主要原因。比如标配2GB内存,512M实在卡,1GB勉强够打所有手机游戏。那么,厂家为什么不把内存做大点?增加0.5GB内存会增加多少成本?电脑的内存已经相当便宜,尽管今年涨价了,一条4GB的内存条也就200来人民币。还有就是CPU支持的最大内存有限,但是目前的很多芯片应该都已经支持2GB左右的内存了吧。(原标题为:手机内存(RAM)增加 512M 成本会增加多少?)
对此知乎上的回答是这样的:
内存多了怎么会没用……可以向手机应用、特别是游戏或者多媒体应用开发者打听一下看看内存是多么稀缺的资源。举个例子,在搭载512MB内存的iPhone 4S上,一个应用使用的内存总量如果超过了约40MB就会出现内存资源警告,超过约220MB,这个应用就会crash。40MB内存是个什么概念呢?如果把这40MB内存什么也不干,就用来存储解压过后的动画,然后保证60 fps的帧率播放,大约能放0.3秒;要求降低一点,保证30 fps的帧率即可的话,大约能放0.6秒。这还是把这些内存全部用于存储内容的情况。实际使用的时候这些内存还要用来存放各种各样的用户数据、程序和系统运行所需的数据结构等等,导致开发者在内存里面多放了几张图片没有及时释放都会被警告。
这还是在采用人工内存管理的iOS 上。而在大量使用垃圾回收机制的系统上(比如JVM),内存更是宝贝。垃圾回收机制要流畅工作,要求空闲内存是实际使用内存的约四倍以上。如果空闲内存不足,垃圾回收的延迟会急剧上升,进而造成主线程阻塞、交互卡顿。Android用户应该对这个现象很熟悉吧,这也是为什么现在一些高端旗舰Android机型即便配备了比iPhone多一倍的内存但流畅度还是不够理想的原因之一(鉴于很多人忽略这两个字,特此加粗强调。交互卡顿主要是因为UI绘制帧率跟不上用户输入。比如,要维持流畅的60 fps帧率,花在绘制每一帧的时间要维持在17毫秒以内。有很多原因会导致无法在17毫秒内完成绘制一帧,垃圾回收只是其中之一,而垃圾回收消耗超过10毫秒的情况并不罕见)。
甚 至可以这么说,对于任何软件开发者(不管系统还是应用)而言,如果不考虑任何资源约束,内存总是容量越多越好、带宽越大越好、延迟越低越好。增加512MB内存的硬件成本相对于整机物料成本而言其实微不足道,拿iPhone 5来说,搭载的1GB LPDDR2内存的成本是$10.45,而整机的物料成本约$200,占比才5%。所以成本其实不是主要考虑。
那为什么手机上各个厂商都步调一致的用小容量内存呢?因为在手机上厂商要面临一个最严酷的资源约束——电池。如果拆开在售的任何一款主流智能手机来看,里面的结构通常是一块占据了大部分内部空间的电池和一块小小的电路板。比如这样:
按现在的技术水平和未来五到十年技术发展的预估,大规模用于消费电子的化学电池的能量密度不会显著上升。也就是说无法在保证电力供应的情况下显著缩小电池体积、或者无法在固定体积的情况下显著提高电池容量。为了保证手机的续航时间,厂商必须在设计许可的范围内最大限度的缩减其他零部件的空间以扩大电池体积,同时在经济可行的前提下尽可能减少系统能耗。
这两个目标选择的结果之一便是手机的内存和处理器通常采用所谓的PoP封装,即内存和处理器是叠放于同一块芯片包装内的。这样做的好处主要有两点:一是因为两个部件合二为一,减少了电路板上的空间占用,让电路板可以缩小,腾出空间用于放置电池;二是处理器需要通过金属引线频繁访问内存,叠放可以使得引线的长度最短,从而降低线路噪音、访问延迟、电力损耗。
下图是 ChipWorks 拆解的Apple A6芯片中的内存部分。可以看到,内存已经占据了几乎整个面积。
在这种情况下,要提高PoP封装的内存容量,思路有几个:
1、缩小芯片的制程:缩小制程需要新工艺支持,代价非常昂贵,只有非常有限的几家有能力做。而且从目前的32nm制程缩小到下一个制程28nm,在面积不变的情况下能够增加的元器件的数量不过约30%而已。而内存扩容是需要翻倍的(512MB到1GB到2GB),也就是说面积不变,需要从32nm制程跳到22nm才能实现内存扩容,而成熟的22nm制程现在只有 Intel 才有。
2、扩大芯片的占地面积:会增大电路板空间占用,从而挤占电池所需要的空间。和采用PoP封装的初衷背道而驰。
3、增加重叠的芯片数量:手机内部有没有足够空间容纳增加的厚度不说,散热会是个大问题。散热不好会大幅度影响系统性能,影响体验。
结 论就是由于电池的硬约束,目前的移动系统设计中各方面妥协的结果就是在系统和软件能够接受的范围内采用合适容量的内存,仅当各方面条件(比如制程和低电压技术的进步)都合适的时候才扩充内存容量。三星在2013年四月份开始量产20nm级别(三星的官方说法很含糊,20nm~29nm这个区间都叫20nm级别。应该是28nm,尚不确定)的512MB LPDDR3内存芯片,据说可以在单个内存包装的0.8mm限高内容纳四片合计2GB,而且比30nm级别的LPDDR3能节省20%的能耗。如果散热也没有问题,下一代iPhone/iPad或许会搭载2GB内存。
理论上说,手机的运行内存越多越好,但也不是运行内存大手机就一定运行快,CPU架构,核心,频率以及使用习惯等都会影响手机的使用。
运行内存是指手机运行程序时的内存,也叫RAM(简称运存)。而另一个内存是用来存储东西的内存,就像8G的MP4一样,它拥有8G的存储空间,这种内存为一般叫的手机内存。
用电脑比较的话手机的运行内存就是电脑的内存,是不可以作为储存数据的介质的。
注:在规范、专业的名称叫法里是没有运行内存和手机内存一说的。内存就是指随机存储器(Random Access Memory)。而作为存储数据用的则叫NAND闪存或者叫NAND Flash(也就是所谓的手机/机身内存)。
运行内存大的好处:
<1>同时运行更多的应用程序
<2>更为迅速地运行各个应用程序
<3>更加迅捷地切换不同应用程序
提高运行内存的方法:
<1>装个小字库,可提高部分运行内存。
<2>下载安装提高运行内存的DLL,可以提高运行内存,但是上网、程序管理、设置用不了,有时也安装不了软件。要用这些功能的时候,可以把DLL的文件名改了就行(在原文件名前面加两个数字就好,要用的时候删掉前面的数字就可以了)。
<3>关闭一些无关紧要的自启动程式,如:来电管家、防火墙等占运行内存大的。
<4>可以关闭一些无用的线程。
光运存多是没用的,还有一个优化,iphone的iso系统之所以比安卓系统使用体验流畅,因为iphone的后台杀的很干净,不会让多余程序占用运存,安卓就做的不怎么好,所以才有杀后台程序的软件,不然随着手机的使用,可以使用的运存会越来越少!
不是,iphone6的运行内存只有1g但是苹果系统的优化能力非常好,运行再多软件也不会卡,以至于能比下很多高端旗舰机
智能手机已经成为人们生活中的必备品,随着手机的种类越来越多,人们挑选手机的眼光也越来越高,而且也渐渐从肤浅的颜值,上升到了硬件配置,手机的各项性能都被用户分析的一清二楚。