“卡顿”在Android手机当中似乎是一个永远不灭的话题,尤其是对比iOS系统而言。内存机制是其中最主要焦点之一。所以我们看到Android在不断地增加系统运行内存,如今4GB已经基本在安卓旗舰机当中普及,甚至一些厂商在相继安排更高内存的机型发布(只是发布,尚没有成品上市),但似乎这也并没有让Android卡顿的声浪彻底湮灭。
安卓手机4GB运存了为什么还会卡成狗?
手机越用越卡,甚至成为果粉的笑柄,其背后的核心原因其实是历史遗留。最早Android原型机主要考虑键盘机设计,忽略了渲染界面的优先级;而iOS系统则是从底层设计上便更倾向于触控屏幕机型。iOS响应顺序依次为Touch(触控)—Media(媒体)—Service(服务)—Core(核心架构),屏幕触控响应优先,也就是当你触控屏幕之后,系统会优先处理屏幕显示层级,之后才是其他;而Android响应级别则是Application(应用)—Framework(框架)—Library(程序库,包括屏幕响应)—Kernal(内核架构),也就是当你点击屏幕之后,系统会先忙着激活应用、打开框架,第三步才会照顾到屏幕显示。所以从早期设计优先级别上Android落后于iOS。
Android系统框架(图片来自elinux.org)
配置EMUI的Mate 8手机
不过Android也并非不知道自己的问题,所以在后期也在尽全力拼命修改架构以适应触控操作。比如谷歌曾在Android4.4时期将一直被视为拖慢Android整体运行速度罪魁祸首的Dalvik虚拟机模式调整为ART模式,提升系统的运行效率;而品牌厂商也在以自家ROM形式对其进行着优化,比如华为EMUI(代表产品如华为Mate8)等。但在开源这条道路上,与封闭的iOS相比,Android在内存管理机制上对App往往略有纵容,加之不少App肆无忌惮的占用内存资源,增大内存也无济于事,所以我们会经常看到,虽然每年内存容量都在大跨度提升,开机剩余量永远显示不足。
Android的最大特点是开放,不过这样的开放自然也容易带来问题,这也是Android之所以有卡顿的重要原因之一。
目前很多厂商在对Android的优化上进行了很多努力,目前比较有代表性的品牌和产品比如华为的华为Mate8等等。当然这个世界似乎永远有正反两面,在Android开发者阵营中,总会有一些不遵守行业规则的开发者任意妄为,比如你安装一款应用,它会不经你同意附带几款毫无用处的附加应用,而有关影响流畅性的是,你打开一款应用,它甚至有可能会连带偷偷在后台运行多款自家应用拖累有限的内存等硬件资源,这样的流氓行为在Android也不少见。
Android手机用久总会出现卡顿情况内存不停被“吃”
系统资源的调用机制和管理的迥异等等是Android系统流畅性无法与iOS媲美的关键,但追求流畅势必要对Android的整个生态作严格限制,对庞大的Android终端来说得不偿失,而谷歌又不可能完全将已经积攒多年的Android军队打乱重来,所以目前来看,除了谷歌对Android系统的不断细节优化外,我们更多的只能寄希望于Android阵营当中的智能手机厂商能够在维持和促进手机流畅性上多下些功夫,而不仅仅是单纯从硬件上将其提升到所谓的4GB或更大而已。