容量再提升 8GB内存真能“喂饱”Android吗

2017-05-04 13:07
电脑爱好者 2017年3期
关键词:后台内存处理器

就智能手机而言,处理器和内存总是相辅相成的两个硬件。在10nm工艺的骁龙835、麒麟970和Helio X30处理器即将量产的情况下,内存自然也需要再进一步才能迎合“自家兄弟”的需求。于是,8GB手机内存开始量产。那么,对Android手机而言,8GB内存能否彻底解决可能出现的卡顿现象昵?

2007年,苹果iPhone重新定义了智能手机,内置的128MB内存则是其流畅运行的基石。随后,谷歌发布了Android系统,全球首款基于该系统定制的HTC G1则为其准备了192MB内存(图1)。iPhone 1和HTC G1内存相差64MB,容量差异谈不上大。

然而,iOS和Android系统不同的内存管理机制,却让两个阵营的智能手机在内存上逐渐拉开了距离。当iPhone 5用上1GB内存时,Android手机已经拥有了2GB内存;当iPhone 6s好不容易升级到2GB内存时(图2),Android手机却已武装上74GB甚至6GB内存;当下一代iPhone还没影的时候,8GB内存的Android手机就已箭在弦上。

就内存容量的升级趋势来看,Android阵营完全属于“大跃进”风格,而之所以内存容量能保持如此高速的发展,则要归功于两个因素。

Android手机内存容量从1GB跨越到6GB只用了3年时间,其中从3GB提升到4GB时遇到了一道门槛。在ARM推出Cortex-A53和Cortex-A57架构以前(图3),Android手机所搭载的处理器(SoC)还停留在32位时代,3GB就是极限。在iPhone 5s携A7将智能手机领入64位时代后,Android手机阵营借助64位处理器和最新版本的Android 5.0系统,4GB内存手机才破茧而出,并一路狂奔到今天的6GB。

除了64位处理器和Android系统的帮忙,内存的生产工艺和封装技术,也是让内存容量在短时间里得以翻番的源动力。

智能手机的内存空间可用“寸土寸金”来形容,其紧凑的PCB布局最多只能允许安装一颗内存芯片(图4)。所以,如何提升单内存芯片的容量就成为了解决问题的关键所在(图5)。以三星为例,它最早就通过20nm工艺生产出了8Gb(1GB)容量的LPDDR4颗粒,然后通过立体封装技术,由4个颗粒封装成为了单4GB内存芯片。随后,三星又在20nm工艺的基础上研发出了12Gb(1.5GB)容量的LPDDR4内存颗粒,4个颗粒封装造就了6GB内存手机。

2016年10月,三星借助最新的10nm工艺推出了16Gb(2GB)容量的LPDDR4内存颗粒,运行速度高达4266MHz,为8GB内存手机的出现铺平了道路(图6)。全新的10nm 8GBLPDDR4内存芯片的封装尺寸只有15mm×15mm×1.0mm,还能和处理器或UFS芯片封装堆叠在一起,可进一步节省手机内存的空间占用。

随后,SK海力士也发布了8GB手机内存,利用21nm工艺就实现了16Gb(2GB)容量LPDDR4内存颗粒的研发,4个颗粒也能封装成为单8GB内存芯片。由于生产工艺的制约,海力士的8GB内存运行速度只有3733MHz,电气性能稍逊一筹。

想用上最新的8GB内存,自然需要全新的处理器和系统平台加以支持(需支持8GB的内存寻址)。好消息是,除了骁龙835、麒麟970和Helio X30这些还没能量产的10nm旗舰级处理器外,像骁龙821和骁龙653等现有处理器也已经加入了对8GB内存的支持,所以8GB内存手机的上市时间应该比我们预计的还要早。

接下来又到了老生常谈的时间了。当年2GB变3GB时、3GB变4GB时、4GB变6GB时都经历过类似的讨论:更大的内存到底是噱头还是真有必要?

我们先来看看时下热门APP对内存的实际需求(图7、图8)。没想到吧?很多主流APP的高峰内存使用量就超过了500MB大关,这意味2GB内存只能同时开4个,3GB内存为6个,6GB内存为12个,哪怕8GB内存也只能同时跑16个?从这个角度来看,内存自然是越大越好,别说8GB了,哪怕是12GB、16GB也不嫌多!

问题来了,现在绝大多数Android手机内存还停留在3GB或4GB阶段,为什么这些手机仍然能在后台同时跑数十个程序时还依旧流畅呢?

原因很简单,Android系统自身就带有一套相对成熟的内存调度机制,我们可以将其理解为“末位淘汰”。Android系统会将所有系统级APP(如輸入法、电话服务)和第三方APP(如微信、游戏)进行优先级排序,当剩余内存不足以满足当前启动程序的运行要求时,系统便会自动关闭优先级靠后的那些APP和相关进程(图9)。此外,很多APP转入后台时,会进入类似休眠的状态,此时对内存的消耗量变得更低,直到被前台唤醒之后才开始压榨内存。

举个例子,假设你的手机正同时运行着微信、QQ、美团、天猫、京东和今日头条时的内存占用率为80%。此时你想玩《阴阳师》,当你点击该游戏图标的一瞬间,系统就会自动判断运行《阴阳师》需要的内存资源。比如该游戏需要30%的内存,根据“末位淘汰”机制,像美团、天猫这几个非即时通讯的APP就会自动被关闭,然后才会正式启动《阴阳师》这款游戏。

因此,当我们退出某款游戏后,按Home切换到后台运行程序,有时会还原到之前窗口状态,但有时该程序则需要重新加载才能启动。而后面的情况,就是系统为了保证这款游戏运行,自动关闭了后台运行的这个程序,将释放的内存用于游戏的启动上了。

除了Android官方的内存调度机制,不少手机厂商也在系统层面加入了更合理的程序管理功能。比如所谓的“纯净后台”“息屏清理”等功能(图10),就是当手机进入待机状态后,自动清理非白名单以外的所有程序,始终让内存保持在一个稳定的容量上,以备不时之需。

理论上讲,有了Android和厂商的两道“保险”,2GB内存可能有点悬,但3GB内存的手机怎么着也不应该因运行多个APP而变卡了。但实际情况却是,哪怕是4GB甚至6GB内存的手机,有时都会出现突然变卡的现象,这又是怎么回事呢?

就Android手机即将迎来8GB內存,很多网友都发表了调侃的评论:

网友A:程序员表示,终于不用加班优化APP啦!

网友B:APP表示,终于想怎么驻留内存就怎么驻留内存,想开几个后台就开几个,看谁还好意思杀我!

网友C:然而一开机剩余可用依然是1.5GB。

网友D:Android广告分分钟填满8GB内存!

虽然简短,但都很精辟。实际上,真正导致Android系统变卡变慢的原因,还是体现在目前的APP应用环境,以及用户的使用习惯这两个方面。

APP应用环境背“大锅”

由于国内的Android手机没有统一的应用发布平台(Google Play国内无法用),而第三方应用商店往往和APP开发者达成了默契,所以任何一款APP都能捆绑各种广告,推送各种服务,最终造成了“全家桶”现象。

比如我们刚刚打开一个APP,后台就会自动触发与其相关的“全家桶套餐”,原本300MB内存就能解决的事,一下子就变成了800MB甚至1GB,手机内存再大也非常容易被这种机制堆满(图11)。当我们发现手机切换界面变卡、接电话变卡、解锁变卡,连看个照片都得等好一段时间时,往往就是同时触发了多款极为消耗内存的APP,并超过了系统内存调度机制的管理极限。

正所谓“内存多大产,人有多大胆”。手机敢上更大的内存,APP开发者就敢玩更高端的广告推送,而各种唤醒开发者也无需考虑深度优化了。

个人使用习惯背“小锅”

针对APP间相互唤醒和全家桶问题,很多手机厂商都在系统中加入了相关的管理功能(图12)。但是,这类功能并非所有用户都知道,或者都会用。

一款4GB内存的手机有人用起来很顺手(不会卡),但一款6GB内存的手机在有些人用起来都会卡到无语(比如从来都是通过Home键“退出”程序,允许所有APP发送通知还从不清理)。

所以说,内存够不够用,和用户的玩机水平有一定关系。对普通用户而言,更大的内存则可以减少卡顿出现的几率。从这个角度来看,更大内存还是有意义的。总之,在国内Android系统没有统一完善的APP下载渠道(图13),没有严格针对流氓APP的审核和下架制度,任手机内存再大也存在卡顿的隐患。

看起来很悲剧?没办法,这就是事实。

对懂得合理利用内存优化管理机制的玩家而言,在预算有限的前提下内存是够用就好,8GB并非“刚需”。但是,对2017年的高端Android手机而言,8GB内存用户可以用不上,但作为新品却绝不能没有。所以你会发现,8GB内存从出现到普及的速度会变得更快,半年之后,2000元-2500元价位的8GB内存手机将一抓一大把。

所以,我们无需有任何心理负担。更大的内存是智能手机发展的必然趋势,而随着10nm工艺的成熟,8GB内存成本略高的问题也将得到缓解。让咱们一起欢庆手机进入8GB内存时代吧,也许更大的内存对你没用,但至少可以让更多人无需懂得优化手机系统的方法和原理,也能用起来更流畅和顺手。

猜你喜欢
后台内存处理器
外部高速缓存与非易失内存结合的混合内存体系结构特性评测
“春夏秋冬”的内存
后台暗恋
前台、后台精彩花絮停不了
以“后台”的名义节省电池用量
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
电力调度中后台监控系统的应用
基于内存的地理信息访问技术
AItera推出Nios II系列软核处理器