硅谷|安卓手机已突破20G运行内存!多大运行内存才够用?

硅谷|安卓手机已突破20G运行内存!多大运行内存才够用?



硅谷|安卓手机已突破20G运行内存!多大运行内存才够用?



硅谷|安卓手机已突破20G运行内存!多大运行内存才够用?




文/小编
单以目前而论 , 手机上的20G运存噱头大于实际价值 。

运存是什么?运存的学名叫做RAM随机存储器 , 它是用来暂时的储存数据的地方 , 说白了就是CPU和硬盘之间的一种寄存载体 。
举个例子 , 当我们点击桌面上的一个应用图标 , 这个时候我们的OnTouch指令就会直接进入CPU中 , CPU根据这个指令会通过总线对闪存下达指令 , 要求其找出可以支撑该应用运行的相关应用进程并且推到运存当中 , 这个时候闪存就会启动随机读取将这些进程从他的盘符中找出 , 按照CPU的要求将其提交到运存当中进行寄存 , 而运存这个时候就会开始和CPU进行信息的交换 。
那么反应到视图层的表现就是这个应用就被打开了 , 内容可以正常显示 , 以后用户对于这个应用的大部分操作全部都是由运存和CPU协作完成的 , 基本不会和闪存进行交互 。 (除了一些牵扯到查找本地文件之外 , 譬如上传文件 , 图片等)

有人会问了 , 闪存难道不能直接和CPU进行信息交互么?当然可以的 , 电脑上的虚拟内存技术以及安卓的zram与swap技术 , 本质上就是让硬盘(闪存)中的一部分当作运存来用 , 但是由于闪存本质上是一个非易失性存储器 , 它的随机读取性能相比于内存这种随机存储器差别极大 , 直接用闪存和CPU进行信息交互会极大地影响用户的操作体验 , 安卓系统上的冷启动为什么要比热启动慢很多?本质上就是闪存随机读写的速度太慢导致的 。
运存读写速度:30000MB/s

固态硬盘读写速度:3000MB/s

如果未来闪存的读写速度足够快 , 或者运存可以在断电之后保存数据 , 那么运存和闪存也就不存在什么明显的差别了 , 不过 , 以目前的技术水平来看 , 想要在短时间达到这样的水平明显是不现实的 。 内存使用的DRAM芯片每GB单价要比NAND Flash闪存贵得多 。
从前文大家大体可以看出 , 运存实际上就是应用进程的寄存器 , 处在运存之中的应用进程在和CPU进行数据交换的速度会更快 。 如果单纯从这一点上来看 , 运存当然是越大越好 , 如果运存足够大 , 大到可以容纳用户所有的应用程序进程 , 那么手机也就没有卡顿这一回事了 , 然而事实是这样么?当然不是了 。
首先是处理器的负载问题 , 在安卓系统中 , 所有处在运存当中应用或多或少都会启动一个或者多个Server进程(最常见的是消息推送服务) , 这些进程或多或少都会需要和CPU做数据交互 , 放置在后台的应用越多对于CPU的压力也就越大 , 这个时候出现瓶颈的就不再是运存的数量而是CPU的性能了 , 也就是说 , 就算你有无限的运存容量 , 手机该卡还是卡 。
另外 , 我们还需要考虑实用性的问题 , 大运存的最大的价值体现在哪里?一方面是让手机在运行某些超大型应用时可以有充足的空间去承载 , 另外一个方面就是让手机能够在后台保留更多的应用进程 , 提升用户的体验 。
然而 , 无论是第一还是第二种用途目前都用不上20G的运存 。 在手机上单体占用运存最大的应用是什么?毫无疑问就是游戏 , 我们以应用杀手级的热门网游《原神》为例 , 原神对于运存的占用大体在1.5G-2G左右 , 6G运存的手机在不同时开启其他大型应有的情况下完全可以正常运行《原神》这款游戏 , 8G运存则可以同时运行两个《原神》 , 至于12G运存就更是绰绰有余了 , 那么上20G运存有价值么?难道你会同时开10个大型游戏挂在后台么?