大家以常见游戏《王者荣耀》的加载操作为例。
由于游戏软件大都体积较大(现在大多数手机应用程序的块头貌似也没有廋成一道闪电的),因此数据传输的方式会采用DMA(直接存储器存取)方式。原理图如下图(DMA控制器没有画出)。
加载《王者荣耀》的过程是这样的:
你点击手机屏幕上王者荣耀图标,等于通过I/Obridge向CPU发送信息:加载《王者荣耀》,这里屏幕充当了PC中键盘的作用,属于输入输出设备(I/O);
CPU随即向DMA控制器发送信息:加载《王者荣耀》到运存,命令下达后,CPU干别的活,这里CPU相当于老板;
DMA控制器(相当于二老板)接令后,向闪存(相当于仓库)下令:老板要求加载《王者荣耀》到运存;
作为数据仓库,闪存能说什么,只能忠实执行啊,于是赶快将《王者荣耀》打包,通过传送带:输入输出总线和内存总线送到运存。
加载完成后,CPU开始召集GPU(显示芯片)一起干活:运行应用程序,同时将运行结果通过内存总线、输入输出总线,显示到屏幕上,然后你……就可以玩了;
在这个过程中,忽略总线对加载速度的影响,可以看出,影响加载应用程序速度快慢的因素有三:CPU速度、运存速度和闪存速度,三者有任何一个拖后腿,都会拖慢程序加载速度。
有人会说,题主问的是内存大小是否会影响手机打开APP(加载程序)的速度,你叨叨这些是不是跑题了?
并没有跑题。
手机加载应用程序并不是一个字节也不漏地全部加载,而是加载执行文件(包含常用数据),至于不常用到的资源文件,还是躺在闪存里的。《王者荣耀》安装后大概能占2.2GB左右的空间,但是加载到运存中的执行文件,最多也就1个GB吧,大量暂时用不到的关卡、地图、人物角色贴图、皮肤等数据还是乖乖躺在闪存里。
换句话说,《王者荣耀》这种比较吃运存的游戏,也就占1GB左右运存空间,其它块头比《王者荣耀》小的应用程序,占用的运存空间会更小。
现在,安卓机重视卡顿问题,对运存管理都比较激进,某国产手机甚至在打开四五个APP后,就会开始杀后台,这种情况下,很难有6GB运存被占满的情况发生。
所以,在CPU、运存、内存三大件速度一样的前提下,配置6GB、8GB、12GB三种运存的手机打开APP的速度没啥区别。
与其关注运存大小,还不如关注闪存的速度,它现在才是整个系统中的小短腿,闪存从UFS2.1升级到UFS3.0后,手机打开APP的速度明显提升。
原创回答,搬运必究。