了解过手机配置的朋友们一定好奇过这件事,为什么安卓的手机运行内存都发展到12G,甚至16个G了,而苹果手机运行内存却依然在4G内存原地踏步呢?你看到的只是数据差距,但你不知道的是,苹果的4G,其实是可以完胜安卓的12G的。别不信,下面我们就来分成两部分,先来测试iPhone的4G内存后台驻留,到底能不能干过12G内存的安卓。然后再来解释一下为什么4GB内存的IPHONE完胜原因。
为了实际测试不同内存带来影响,小编准备了一台4GB内存的IPHONE12、1台6GB内存IPHONE 12 PRO以及一台12GB内存的安卓旗舰小米12 PRO。实验开始前,三台手机都已经提前做了重置并充满了电,安装好了38个常用APP,包括吃鸡和王者。
实验过程分为四轮,打开一定数量APP,然后随机返回,观察后台APP留存情况,第一轮打开10个APP,第二轮再打开5个,总计15个APP,第三轮24个APP,第四轮38个APP。来看一下实验最终结果。
测机存档
4GB的IPHONE12第一第二轮全部正常,在第三轮时,发现有两个APP被释放,到了第四轮,部分APP随机被释放。
而6GB的IPOHONE 12 PRO经历了38个APP的洗礼依旧正常,所有后台全部存活。
安卓系统的小米12PRO就不一样了,虽然是12G内存,但实验只到了第三轮,就出现了部分APP被释放的问题,到了第四轮,更是有大量APP被释放,甚至出现系统明显卡顿,应用响应时间明显延长的情况。
明明内存要比苹果系统多出2~3倍,可为何实验结果却如此不尽人意呢?
有些朋友对此解释为:IOS利用墓碑机制创造了假后台,安卓是真后台,所以苹果作弊了。但事实并不是这样的。
首先墓碑机制官方称呼叫做APP后台休眠,相当于是把不在前台活跃的APP给冻住了,被冻结之后的APP无法再调用CPU,也就避免了手机发热,节省电量。但即使假后台,墓碑机制和省内存也没什么关系,为了让APP能够快速解冻回工作状态,被冻结的APP占用内存是不会被释放的,这也正是墓碑省电和普通杀后台省电机制的最大区别。其次,早在Android6.0的时候,谷歌也和苹果一样,在安卓里面引入了墓碑机制,现在像小米、OPPO VIVO等手机厂商的,他们的系统也都是以这种机制在运行的,甚至部分厂商的休眠策略调教的比苹果还严格。那么到底是什么原因导致了12GB内存的安卓都打不过4GB的苹果呢?正好我之前跟一些Android开发者聊天的时候聊到过这个问题。总结下来,其实主要是因为下面这三个原因:
1.APP的运行模式不同
由于安卓是谷歌联合了很多厂商一起搞的开源项目,所以它在设计之初就确定了要在不同的处理器、不同的架构上运行,既要兼容高通、联发科的ARM处理器,也要兼容AMD、英特尔的X86台式机,因此安卓系统给每个APP都套上了一层虚拟机,让APP在一个可控环境的容器里边运行,这样APP的开发者。就不用操心适配的事儿,只需要写一份代码,虚拟机会自动在运行的时候把它们转化成高通、联发科或者其他处理器能看得懂的语言。而反观苹果这边呢,从头到尾生态都是自己的,所以iOS上的APP不用套虚拟机,直接原生运行即可。
在安卓5.0之前的APP,虚拟机的转换性能做得特别拉垮,导致Android落下个不如iPhone流畅的评价。安卓5.0之后,这个虚拟机彻底重构了一遍,预编译的工作模式,让它的运行效率和苹果的原生运行也差不了多少。但这个内存占用问题没有得到解决,毕竟虚拟机还在,内存占用依旧少不了。海外科技媒体technobarg曾经对相同APP在安卓和iOS上的内存占用做过分析,大部分APP,在安卓上运行的时候都会比在iOS运行吃掉多一倍的内存,像Adobe acrobat、booking、eBay和Twitter甚至相差了四倍左右。4GB的四倍,那就是16GB,这么想,是不是觉得之前那些上了16GB内存的游戏手机不是脱了裤子放屁了呢?
2.后台机制
虽然都有墓碑机制,但是安卓APP的后台种类,本身就比iOS更复杂,就比方说,微信,在安卓上后台驻留的除了主程序窗口之外,至少还得有一个消息推送服务和一个运动统计服务,其他APP也存在这样一个拖家带口的情况,而iOS则是整体限制的更死一些,不管你是什么,都得排好队,老老实实走后台自动刷新API。
3.应用组件
相比相对比较简洁没什么预置功能的iOS呢,国内这些个UI集成的功能就显得非常之多,语音助手、负一屏、通勤信息、快递状态、天气预警、通话录音等等,这些功能要想维持正常运转,也需要在后台驻留吃掉一部分内存。所以每个APP比iOS运行时,要多吃两倍以上内存,后台驻留时还会运行更多的服务,系统本身又比iOS集成的服务多,也要吃掉更多的内存,如此来看,别说12GB了,就算是给20GB也能让安卓手机吃得干干净净,想要让6GB内存的安卓手机和6GB内存iPhone有一样的使用体验,只能说是天方夜谭了。
不过正如我开头说过那样,在这个问题上的苹果并非技术先进,安卓呢,也并非破败不堪。苹果硬件利用率更高,但是生态更封闭,选择不多,安卓生态繁荣,但是却要为了兼容吃进更多的硬件资源,苹果既不比安卓优越,安卓也不比苹果先进,大家无非是互有取舍罢了,所以果粉和卓粉们也不用因为这事吵架。只不过安卓用户们以后在购买手机的时候,可能就更需要注意一下内存大小吧,毕竟这玩意目前真的是远远还没到尽头。