现在智能手机品牌众多,而且都非常有名,在竞争激烈的市场条件下,为了获得更大关注度和销量,各大手机厂商不断给手机堆硬件配置,特别是安卓手机品牌,硬件同质化严重,因此只能把最顶级的硬件都给用上,比如现在上2K屏幕还不够,必须120Hz刷新率,运行内存最低8GB,如今直接跳过10GB来到了12GB,三星S20 Ultra顶配版全球首发16GB LPDDR5运行内存,瞬间超越市面上80%的高端电脑内存,领先苹果手机四倍。
安卓手机升级最快的硬件之一就是运行内存,小米,oppo,vivo等高通阵营的旗舰机都有12GB,三星为了保证技术优势,先自己用16GB,半年后在下放给其它品牌。相反,iPhone就非常难,从iPhone7开始苹果才做到一年一个G的增加,现在的iPhone11PRO系列为4GB,与三星S20 U顶配版形成1:4比例,小米等国产旗舰机也领先苹果两倍多一点。
然而很多网友却说苹果4GB比安卓8GB还流畅,和12GB、16GB的安卓手机没有区别,甚至手机用了几年后,苹果4GB流畅度可以超过16GB安卓机。这种说法并非空穴来风,小编之前拿苹果11ProMax(4GB内存)和S20 U版(16GB版本)、小米10Pro(12GB版本)对比,三星和小米并没有因为超大内存而在流畅度方面领先苹果。值得一提的是三星S20 U的系统动画确实做到了媲美ios,非常流畅,或许是三星已经把16GB、120Hz刷新率、优化到位的ONE UI系统这三个参数完美结合。
iPhone和安卓机在运行内存上的差距是操作系统决定的,ios系统可以让iPhone不需要太大的内存,就可以达到高流畅性,而安卓手机厂商只有不断堆内存,才能保证手机流畅度更持久一些。ios系统能做到内存小、够用而且流畅,主要有两个原因,第一是ios系统消息推送机制,APP推送消息时,必须同一经过苹果服务器,然后由苹果服务器发送出去。安卓则不同,APP拥有各种权限,推送消息时必须独立运行,因此即使安卓用户清空后台,实际上还有很多APP仍然处于进程状态,导致运行内存莫名其妙的减少。比如8GB的手机,最理想可用状态是5GB左右,一般都是4.5GB以下,这也就是为何很多安卓用户吐槽运行内存只有一半可用,所以说安卓手机厂商只有上更大的内存,才能保证流畅。
第二是系统后台机制不同,苹果手机的后台应用处于“冻结”状态,不占有内存,4GB内存可以完全用于正在运行的客户端,目前一个手机APP超过4GB很罕见。安卓手机则不行,后台和前台所有软件同时运行,运行内存需要更大一些,否则杀后台很常见。不过从安卓6.0开始就有了很大改善,到现在的安卓10.0已经做得很不错,高端旗舰机流畅性用起来和iPhone没太大区别,当然这是使用一两年左右,三年之后就会和iPhone形成明显差距。
总之安卓系统不彻底改变运行机制,即使安卓手机的运行内存比iPhone大五六倍,流畅度也不会超过ios。
这也是一个老生常谈的问题了,因为苹果手机的ios系统和安卓系统底层架构不一样,多任务运行机制也不一样,简单说的话,iphone同时运行多个APP需要的内存比安卓系统少得多,比如安卓系统8G内存所能达到的效果,对于ios来说可能只需要4G就差不多了,所以苹果手机根本不需要太大的内存容量。
很多人说苹果太抠门,为了利润所以不用大内存,这的确也是一个方面,如今内存颗粒也不贵,一部iphone11pro卖8000多甚至一万多,如果用8G内存就跟玩似的,但是苹果始终是坚持硬件够用就好,除了强大的A系列芯片,手机用的什么闪存颗粒,用的多大内存,苹果一般是不会宣传的,至少不会把这些作为卖点。
而安卓手机市场竞争激烈,各大厂商必须拿足够多的办法来应对竞争,硬件参数的比拼便是其一,这几年安卓手机内存容量甚至有的来到了12G和16G,甚至超过了主流电脑的内存容量,这里面当然会有噱头的成分,不过如果你觉得流畅度还是不如苹果,我认为不太属实,尤其是对于90Hz以上刷新率的中高端安卓机来说,流畅度应该更超iPhone。
安卓的16GB运存的流畅度和苹果4G预存的流畅度对比,理论上来说安卓肯定是比苹果要快的,但是为啥很多人用气量觉得流畅度还是不如苹果呢。
其实这跟系统有关系。
安卓系统对内存的掌控不够绝对安卓系统运存的使用取决于各应用进程的申请,为了规范申请,于是安卓对进程搞了一套管理规则。
安卓系统对进程的管理是基于进程的类型。
而进程的类型从重要程度分由高到低依次是:前台进程、可见进程、服务进程、后台进程、空进程。
1、前台进程
顾名思义,前台进程就是目前显示在屏幕上和用户交互的进程,在系统中前端进程数量很少,而这种进程是对用户体验的影响最大,只有系统的内存稀少到不足以维持和用户的基本交互时才会销毁前台进程。因此这种进程重要性是最高的。
2、可见进程
可见进程也拥有一个可视化的界面,但是不能和用户交互,通常可见进程在前台进程的后边,用户退出前台进程后就会显示可见进程。
可见进程一般调用了生命周期方法OnPause(),可见进程比前台进程重要性低,但是在交互方面影响还是很大,因为用户可能随时切换过去,所以系统不会轻易销毁它。
3、服务进程
一个服务进程就是一个Service,它调用了startService,就是UNIX中说的守护进程,对用户不可见,但是保证了一些重要的事件被监听或者维持着某些状态,比如网络数据传输、后台音乐播放、后台下载资源等等。
这类进程在系统内存不足且为了保证前台进程交互的顺利进行的时候被销毁。
4、后台进程
这里叫后台进程可能会和一般意义上的后台进程混淆,要说明的是,android里的后台进程是调用了OnStop()的,可以理解成在不可见进程,就是用户暂时没有和这个进程交互的动作,所以这里后台进程有点“待销毁”的意思。
5、空进程。
这是一种系统缓存机制,其实就是个进程的外壳,当有新进程创建的时候,这个空进程可以加快进程创建速度,当系统内存不足的时候,首先销毁空进程。
基本上只有基于这套规则,你就能申请到内存,理论上来说这样是最可靠的,要多少申请多少,规规使用。
但是在国内则变味了,首先就是推送服务
国外能使用谷歌推送服务,但是国内由于某些原因使用不了谷歌服务,于是开始各手机厂商和软件开始各显神通。
首先是手机厂商,比如小米搞的小米推送,华为搞的华为推送,这些都是可以使用的,但是大多数开发者都不会使用,因为只能在小米或者华为手机上使用。
所以软件开发者更喜欢使用第三方的推送服务或者自己实现推送服务,这样就不用去做适配工作了,而且安全可控。
那问题来了,如果自己实现推送服务的话,必须要保证自己的APP随身“活着”,于是一系列的保活方案出来了,比如在后台播放无声音乐,保留一像素页面等等,这些操作的背后都是需要内存的,基本上所有APP都会做至少一种保活方案,那消耗内存是几何级的。
工信部主推的统一推送联盟,就是为了解决这种现象,既浪费资源又阻碍行业发展,但是目前统一推送联盟还没在市场正式使用,期待吧!
IOS系统对内存拥有绝对的权利我觉得这是IOS系统与安卓的差别,这也算是闭源的一种好处吧。
IOS不允许APP有退出功能,所有APP的退出都由系统来决定。基本上APP只要退出到后台超过10分钟,就会被销毁,但是会留下一张你当前的页面,就是你双击Home键弹窗看到的APP截图,这种被称为“墓碑机制”。
所以即使苹果内存在小,也不会卡顿的原因,理论上来说,IOS系统永远只会运行一个APP,除了系统应用和哪些必须在后台运行的APP(音乐APP,导航APP等)以外。
另外IOS又一套系统推送服务,所有的APP可以不用自己去实现推送,在APP后台发出推送后,IOS系统接收到后会唤醒对应的APP,来处理推送。
总结由于国内安卓系统推送服务不够统一,导致各APP都实现保活方案,大量消耗内存,从而导致卡顿,另一反面由于国内软件开发者的不规范开发,无节制申请内存,导致运行APP时卡顿。
而苹果系统由于闭源且对内存拥有绝对的控制权,所以实现了一个系统同一时间只运行一个APP,这样大大节省内存。
我是非著名攻城狮,希望我的对您有用,感谢您的点赞支持!
尽管安卓16GB的运存领先苹果近4倍,但是安卓却不一定有苹果流畅,最主要的原因在于iOS底层的架构与安卓不一样以及iOS的过渡动画,视觉效果很棒。
iOS的底层架构、运行机制与安卓不同苹果的iOS由于底层架构与安卓不一样,总是确保在人机交互的用户界面的APP获取最大的内存调度,因此在前台运行的应用总能最大程度的调取内存,而安卓由于存在多线程以及“真后台”机制,总的RAM数除了前台应用需要以外,还包括后台的应用以及预留的空RAM等的需要,在安卓系统里,应用数开的越多将会导致没有被使用的RAM的数越少,而由于安卓又允许APP在后台保留,进行软件的运行等现象,因此在目前软件安装包越来越大,软件程序所需内存越来越多的情况下,安卓手机只能通过不断的加大RAM数从而来保证获得流畅的体验。比如从几年前的1G、2G、4G的RAM数就足够使用,然而到这两年,安卓手机的RAM数不断增加,一直到目前的8G、甚至是12G,相信随着手机的不断发展,未来还会出现更多的RAM数方案包括16G以及32G等。
iOS的过渡动画设计、优化比安卓更好,视觉体验很棒除了以上iOS与安卓运行机制的不同以外,iOS在过渡动画上优化的也很好,而在目前国行安卓手机中,对系统动画进行优化的并且已经取得了显著成果的是小米的MIUI,特别是小米此次发布的MIUI12系统,对系统的过渡动画做了进一步的优化。然而iOS一开始就非常重视过渡动画的优化,在目前的手机系统中,iOS的过渡动画也是做的最棒的;再加上iOS系统能内存的调度总是优先最大程度的满足屏幕中显示正在运行的APP,因此iOS系统总能带给人很流畅的体验,即便你的iPhone是几年前的手机,更新到最新系统表现出来的也仅仅是慢、流畅,不存在所谓卡顿的情况。也正因为iOS优化的完美,目前iPhone并不需要很大的RAM数即可保证软件流畅的运行,比如目前配置顶级的iPhone11系列也仅仅只有4G的RAM,但是无论是高帧电影还是大型手游都能够运行的很流畅。
总的来说,尽管从数字大小来比较,安卓手机的普遍RAM都比iPhone很强,但是由于iOS的底层架构、运行机制与安卓系统不一样,不存在“真后台”,再加上iOS的过渡动画优化的很好,始终保持界面中APP最优先的调度使用RAM,因此,尽管iPhone的RAM比同级别的安卓手机少,但是依旧会显得比安卓手机更流畅。