随着APP对内存需求的增大,如今手机的内存也越来越大。现在安卓手机都必须标配2GB甚至3GB内存,否则经常会卡。而iPhone就不会有这个问题,1GB内存都用了好多年了。
更让人哭笑不得的是,无论安卓机配置有多高,用了一段时间之后还是会卡,而iPhone很少出现越用越卡的枪口,这到底是为什么呢?别急,看完本文你或许就能找到答案。
1、系统运行机制的差异
安卓手机应用都是通过Java来完成,用户打开或关闭一个应用前,系统必须先进行收集需要大量的内存来工作(这个app体积的6-8倍),俗称Java垃圾收集机制(garbage collection)。
如果手机内存不够用的话,应用开的越多,手机就越卡。相反,如果手机内存足够大(至少2GB),应用的打开、关闭、切换直接都不会有明显的卡顿。
而iPhone得iOS系统运行机制跟安卓有本质的区别,其过程中不会涉及所谓的垃圾收集机制,而是一种会休眠的“墓碑机制”,也可以说是“假后台”。当然啦,有些应用是真后台,这得根据系统的优先级来。
iOS的特点就是集中所有的硬件资源去保证当前运行的软件的流畅,但APP一旦进入后台了,它就被冻结或者叫休眠。说到这里可能有人会问了,那为什么QQ和其他APP后台了依然能收到消息?
这是以为iOS有很好的后台消息推送机制,你收到的消息其实是通过服务器推送给你的。这也就是解释早期的时候,苹果服务器(在国外)不稳定的时候,由用户掉线或者漏接消息的情况。
但是现在服务器不稳定的这个情况不复存在了,良好的推送服务和伪后台机制,可以让你的苹果手机在1GB的情况下流畅到爆,因为1GB完全是能胜任的。
2、软件厂商对APP的优化
上面解释了为什么安卓手机很吃内存的问题,那为什么高配置的安卓手机也会越用越卡呢?跟现在很多的无良的APP滥用安卓的权限有关。
现在越来越多软件厂商,为了追求利益的最大化,几乎都在滥用开机自启动的权限,美其名曰是加快软件启动的速度,其实为的是能时刻能控制安卓手机,并及时推送广告消息。
小编我在双十一那天手机开机后什么都没做,一晚上就收到了15条推送消息。这样丧心病狂的事情,相信不止我一个人碰到吧,很多朋友应该都深有感触吧。
而苹果则不同,iPhone的软件都是在苹果商店下载的,就算是越狱了,你下载的软件大部分还是正版的APP。苹果对APP上架极为严格,所以苹果的APP开发者想疯狂加入广告插件不但可能,开发者反倒要绞尽脑汁去把APP优化到极致。
另外,安卓设备的碎片化也拖了软件优化的后腿。一个安卓APP要针对那么多不同尺寸、不同分辨率、不同硬件的设备进行适配,能流畅运行都很不容易了。反观苹果,就那么几款手机,移植适配起来相对容易多了,软件开发者也有更多的精力去优化自己的APP。
3、iOS优先处理触摸事件
另外,iOS的优势还体现在触摸体验上。iOS系统是优先处理触摸事件,哪怕你的手机的内存快撑爆了。但是你在触摸操作苹果手机的时候,依然能感觉到很流畅。这时候安卓手机估计已经卡到爆了,你不清理内存杀进程恐怕就要坐等死机了。
当然,安卓系统也不是混吃等死的,从安卓4.1开始,谷歌也推出了“黄油计划”,让低内存(512内存)、低配置(单核1G)的手机也能有黄油般的流畅体验。再加上现在安卓手机内存基本都达到了1GB了,所以iOS的这个优势我放到了最后讲。
4、安卓机和iPhone选哪个
以上就是苹果1GB内存能完爆3GB的安卓手机的原因,最近有朋友问我,买手机到底该买苹果手机还是安卓手机呢?其实安卓和iPhone没有谁好谁不好的,选对的就成了。
以下是小编的建议,安卓机价格实惠性能也不错,喜欢随意折腾但不喜欢多花钱朋友,选择安装准没错。相反,你钱多不喜欢折腾,或者爱面子、喜欢享受的,那么iPhone是个不错的选择。
这几年谷歌也在不断发力,安卓系统正在从Dalvik虚拟机都进化到了ART模式,系统的优化也做的越来越好。与此同时,谷歌也正在收紧对Android的控制,让应用开发变得更规范。无论如何,Android还是跨越了各种阻碍,逐渐发展壮大起来了。