IT门户, 中国互联网人工智能物联网行业资讯平台--公众IT
新闻来源:互联网资料整理       发布时间:2023/4/5 16:59:56       共计:4667 浏览

    对于苹果手机,一个程序占用4G的运行内存,只有2G运行内存的iphone 6s等旧机型,运行依然很流畅。而安卓手机,几十个应用程序共享16G的运行内存,为了能够持续占用后台,防止被关闭,还经常在后台搞事情,比如“相互唤醒”等,所以安卓手机的内存越来越大。

    苹果手机内存小,但是够用,原因有两点:

    统一推送机制

    iphone的消息推送是系统级的,独立于应用,也就说即便手机关机了,开机后仍然能够收到新的微信消息。

    iphone的消息推送要经过苹果服务器(安卓系统也有,那就是谷歌的GMS,但是国内环境下无法使用),iphone的消息推送是设备与苹果服务器之间的通讯,而不仅仅是设备与服务商之间的点对点通信,如下图所示▼。

    比如微信的服务器会给苹果服务器发出通知,然后再中转到你的设备。对于安卓系统来说,每个应用需要一个单独的后台进程,才能收到各自服务器发送的通知。

    苹果通过统一推送,简化了设备本身的通讯,只需要一个端口与苹果服务器通讯即可。而安卓手机,各个应用开启不同的端口与各自的应用服务器通讯,常驻后台,导致内存总是不够用。


    苹果的后台机制

    苹果的IOS系统,应用切换到后台之后,仅仅保留了一张截屏然后关闭应用,后台消息通知通过苹果服务完成,几乎不占用内存空间,内存完全可以为前台用用服务,也就是说前台应用独占4G运行内存。同时,得益于苹果NVMe闪存,唤醒后台应用时,可以迅速加载。


    安卓系统,底层采用了Java虚拟机的机制,所有的应用统一有Java虚拟机调度,后台应用仍然占用内存空间。这些年来,安卓系统也一直在优化,自从android 4.4之后,流畅度提升明显,但是仍然无法彻底拜托java虚拟机。

    总之,我国的安卓生态十分为用户诟病,APP在后台的无节制活动,同时有安卓系统自身的开放性,应用开发者为了自身服务考虑,申请了更多的资源,一个APP动辄几百兆的内存消耗十分常见,几十个应用十多个G就没了,所以国内安卓手机运行内存越大越好。

如果觉得对你有帮助,可以多多点赞哦,也可以随手点个关注哦,谢谢。

为什么安卓运存都达到16G了,苹果旗舰依然在使用4G运存?对于这个问题,相信很多人都存在困惑。简单来说,这是由于苹果的推送机制、系统闭源性、软硬件一体化等因素决定的。为了帮助大家更好的理解,用两个段子详细解释下。


一、苹果用户


支付宝:帮我开启一下,刚买好东西,一会要付款

iOS:废什么话,等付款了再说,你别擅自越权

高德地图:用户刚刚拿起我,看样子要出门,提前帮我开启下,拜托了

iOS:滚,不要把自己当用户,想当然地你以为

滴滴:麻烦开启下定位服务,不然打车不好打

iOS:用户没有允许开启,不能打开

滴滴:用户点错了,打车软件必须要有定位服务啊

iOS:那我不管,我只按指令行事,你也给我老实点

微信:把我保持下运行状态,不然我不能接收到实时消息,大哥麻烦了

iOS:看不起我的服务器吗?只要别人发给你的消息,不用运行我都能通知你

微信:我能不上暗黑模式吗?

iOS:可以,明天下架

微信:我上

Siri:老大,现在安卓手机都是高通骁龙865的性能铁三角,16GB的运存,看起来有点强,我们要不要提提运存啊

iOS:笑话,我A13芯片怕过谁,什么骁龙865,麒麟990,who care?虽说我们只有4G,但我们软硬件都是一家人,我们审核流程严格,权限要求严格,足以吊打16G

二、安卓用户


支付宝:小安,一会我要付款,别把我关闭了

安卓:好的,宝兄,我怎么可能切你的后台

高德地图:小卓,用户忘记开语音和位置权限了,你那边默认开启下呗

安卓:这个有点不合规矩阿

高德地图:装TM什么孙子,一句话到底开不开

安卓:高大哥,你别生气,我马上给你开

滴滴:用户都16G运存了,为什么打开滴滴还是有点卡,容易闪退

安卓:这我也不知道啊,你们国内的手机厂商对我做了很多优化,不要说闪退了,其他问题都一大堆,各个软件开发商都想着占更多的空间,根本不管他人的死活

微信:小安,我们的16G有用吗?

安卓:讲实话,用处并不是很大,都是几个厂商之间竞争太厉害了,没什么比拼了,只能加运存了,而且中国消费者也好这口

微信:微信在你们安卓平台,不运行都接收不到消息通知,在iOS平台为什么就可以?

安卓:信哥,小的也不瞒你,在你们中国,苹果发消息通知是系统发的,不需要受什么限制,而我们安卓的GSM云服务用不了

安卓大内存只有在中国才有,举个栗子,我们先看看海外版本的华为P30内存规格。华为P30海外版销量高的主要为4G和6G版本,而国内版本的华为P30标配则是8G。目前国内已经很少见到内存低于6G的手机了,目前8G已经成为标配。看起来国内版本仿佛让消费者占了一个大便宜,实际上是国内厂商的无奈之举。

那么这是为什么呢?

先用微信举个例子,当我们使用微信的时候,我们的微信将和腾讯服务器保持长久连接。当我们给另外一个人发送微信消息时,这条消息不是直接从手机发送到手机。而是先到腾讯服务器之后中转,在发送到接收端的微信上。

那么这时候就有一个问题,如果接收端的微信处于关闭状态。腾讯服务器发送过去的消息则将不会被收到。因为他的APP已经完全关闭了,只有当接收端再次打开微信,连接到腾讯服务器时,才能收到消息。所以要想实时收到消息,必须让微信常驻后台。这样也导致微信在后台一直运行。

而在国内的安卓平台,当开手机的一瞬间,许多APP将自启动,入住内存且无法关闭。这种行为是不违法的,因为关闭了则无法实时接收消息,别看一个软件才50M~100M左右不等,但是多个累积起来,可能吃掉手机大部分内存。因此,国内手机厂商必须加大内存以保证手机的流畅运行。

那么iOS为什么不需要大内存呢?因为库克想省钱吗?当然这是其中一个原因。而最重要的是苹果拥有自己的服务器。当发送者发送一个微信消息时,消息会先发送到腾讯服务器,之后腾讯服务器将发送给苹果的服务器,苹果服务器再将消息发送到接收端。这样子就能达到接受端不需要启动微信就能实时收到消息。许多iOS微信用户发现收到微信消息弹窗,点进去后需要等待微信连接上服务器才能显示,这就是其中的原因。

这样子一来,苹果手机用户将不需要开启任何APP,都可以收到消息推送。实际上安卓也有类似的服务器,但是由于Google在国内被封杀,所以国内用户体验不到该服务。

如今国内安卓生态已经乌烟瘴气。由于是合法的,各大开发商都不会去放弃常驻后台的利益。不过值得庆幸的是,目前小米华为OPPOvivo都已经开始部署该推送服务,这次安卓推送联盟由工信部发起,现在处于测试阶段,如果能成功,安卓将会和iOS一样拥有一样的流畅度。

感谢官方!

为何安卓与iPhone的运存差距如此之大?还得从两者的基本架构说起!

1.理论上,在谷歌的设想中,主线程+后台轻量的服务+GSM云推送

是构成安卓体验的圆环

而到了国内,由于缺少GSM云推送

应用已经变成了真后台+连带唤醒长期驻留服务的状态

所以你可以看到,安卓机开机了运存就要消耗掉3-4G

这些都是驻留的服务service

这几年安卓运存整体提升+闪存提速+应用情况好转

整体的真后台体验可以说是不错的了

早年卡顿,也是因为上述

内存被后台service+前台占据惨不忍睹

连带唤醒让日常使用流畅度都下降

再加之闪存速度不够,即使有墓碑应用

轻量重载都要卡顿

2.而iOS在苹果的设想中,是主线程+墓碑应用+云推送

相比于安卓的服务service,墓碑应用是将内存状态转储到闪存

节约了系统内存,还不是实时运行,不消耗处理器的算力

因此你也可以看到早期iPhone:

进去后台应用重载了(转储状态无法恢复)

进去后台应用卡一下才可以滑动(转储状态恢复了)

目前iOS也有真后台存在,来回切换应用,是可以直接使用的(未进入转储时间)

苹果提升内存至4GB,一来是为了单大内存应用可以正常使用

二来是为了维持目前平衡的后台体验,

大内存对于iOS的内存管理设计,意义不大

---------------分界线--------------------

个人认为目前两者的体验都还不错

安卓是真后台,有着更加顺滑的切换体验,且近年体验上的提升不可谓不大,用大内存+大电池容量,填补了性能上的需求

iOS应用重载还是多,但得到了单应用更好地性能、更节能,用比安卓少1000毫安的电池做到同等续航,机身内节约的空间,塞入了其他提升体验的元件

以上

版权说明:
本网站凡注明“公众IT 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
您可以扫描右侧微信二维码联系我们。
网站首页 关于我们 联系我们 合作联系 会员说明 新闻投稿 隐私协议 网站地图