为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

2023-08-19 12:08:14 170点赞 376收藏 172评论

作为一个观察者经历者,而不是一个专业的开发者,我只能通过一个相对专业的用户视角为你解答。

早期

几乎单任务的iOS

其实在iOS和Android发展的早期,正如提问问题所说,早期iOS的后台管理机制十分严格,甚至iOS 4之前完全不开放给第三方,仅提供给系统原生的通话、录音、音乐等进程,这个阶段我们不严谨的、大概的可以称之为单任务系统;

放任不管的多任务Android

而早期Android则十分宽松,应用几乎是想挂后台就可以挂,原生甚至没有提供开放给用户的任务管理UI和切换方式,从Android 2.3那个年代过来的朋友应该知道,当时甚至还需要自己装一些第三方的任务管理器app。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

发展

iOS 4墓碑多任务,Android 4.0引入多任务管理

随着应用更多可能性的百花齐放,以RAM内存为代表的手机硬件开始跃进,这时用户、App都有更多的多任务需求了。

因此,无论是iOS 4(2010年)还是Android 4.0(2011年),都出现了系统原生的多任务管理,iOS 4是通过双击home键呼出,Android 4.0通过单独的多任务键。

这二者都更多的以“最近使用的任务”,而不是“任务管理器”形式出现。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

这也就能解释原生Android 4.0和iOS 4都没有“一键清理”,Android 4.0是通过比较隐蔽的“滑动任务”去关闭的,iOS 4则是通过“长按后台应用图标”-“点击左上角(-)关闭按键”。

从这个命名和操作逻辑,其实就可以看出,这个阶段其实不太提倡用户进行手动管理的

随后在国内安卓这边,出现了一些变化。

一是在2014年前后那会,提供Android系统内互联网服务的Google,在大陆境内出现无法访问的情形,让大陆地区的安卓生态逐渐更加独立;

二是底层十分开放的特性,让应用可以轻易获得自启动、相互唤醒的权限,与此同时还有各种隐私权限齐唱“我家大门常打开”;

前者,谷歌原本在Google Mobile Service谷歌基础服务中提供的Google Play应用市场无法使用。

这就冒出、强大了一大堆以豌豆荚、91手机助手、应用宝、360手机助手为代表的应用分发服务,应用不再需要经过谷歌的严格审核,上架国内分发渠道审核很松;

谷歌的Firebase Cloud Messaging (FCM) 统一推送服务在国内无法继续使用,会造成应用关闭后收不到推送消息的情况。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

由于无法使用统一的FCM,个推等应用推送服务出现壮大,但每一家都需要在后台驻留保活一个进程才能实现及时推送。

后者,且可以轻易获得后台自启动、应用相互唤醒权限,在国内的安卓用户就“有福受”了:即使用户在多任务管理中手动关闭应用,为了保活,应用还是会孜孜不倦的在后台启动,不同应用还会“结盟”互相唤醒,在后台常常呈现“你方唱罢我登场”的态势。这让国内安卓生态混乱了许多。

作为对比,iOS有统一的Apple Push Notification service(APNs)苹果推送服务、审核严格的App Store和只允许短暂或特殊情况的后台任务管理。

在那个年代,也就给很多用户树立了一种苹果虽然RAM内存不大、“墓碑假后台”,但后台严格管理,不卡顿;安卓虽然更大RAM内存、真后台多任务,但根本没人能管住,开机时间长了就被占满,各种自启唤醒、严重卡顿。

后期

国产厂商和谷歌镇压后台

既然App不讲武德,国内安卓手机厂商当然不会放任。

2013年,以小米的MIUI V5系统为代表,一个接一个的国产安卓定制系统开始严加管控后台和唤醒权限。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

此后几年,这成为了一个大趋势。最极端的情况下,在部分国产安卓系统上的后台管理策略约等于苹果的墓碑机制了。

比如,Flyme直接明确了“待机三分钟自动清理后台”。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

同时,除了必要的唤醒,全部一刀切禁止掉自启动和相互唤醒。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

可是,墓碑机制是建立在苹果有APNs的情况下,那国产厂商在没有FCM的情况下效仿,如何保证消息送达?

正如之前手机里跑着的各种国内第三方推送服务,这次,只要软件厂商接入后,手机厂商统一成一个保留运行就好了——小米手机只留小米,魅族手机只留魅族,OPPO、vivo、华为同理。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

极端情况就是应用不接入手机厂商推送服务:

一种是应用“厉害”,比如我们全世界最优秀的产品经理、只向苹果APNs和谷歌FCM低头,而不鸟国产的微信张小龙。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

这种情况下,华米ov都单独得给微信这种app开“特权”,默认不限制微信后台、允许微信随意自启动;

一种是在大陆水土不服、也不是那么在乎大陆的厂商,比如索尼。

那应用本来是真·小而美,或者手机厂商没有提供推送服务,那就只能用户自己给开白名单,或者应用自己自求多福——所以会出现用户点开一个app后才会蹦出一堆消息的情况,平时不开启应用就完全没消息。

中国互联网软件厂商影响力越来越大——国际上也出现各种流氓自启动等骚操作、中国手机厂商影响力越来越大——严格的后台策略也逐渐被谷歌纳入原生Android系统设计规范中。

这样一番“镇压”操作下来,大家也确实发现安卓手机更省电了、更流畅了、越来越好用了——除了极少的极端情况下,不过即使强如苹果也会漏推送。

不过有一点是,早期安卓的“杀后台”确实简单粗暴,不会像“墓碑后台”一样记住你上一次打开的页面,因此早期机制策略不完善那会儿,安卓会丢失上一次应用进度。

苹果逐渐开放一定权限

在这几年中,被用户吐槽严格封闭的苹果也在做出改变:

iOS 7中,后台多任务页面也被改为了卡片式,上滑卡片即可关闭。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

而在表象之下,iOS 7迎来了“更真”的后台。

部分被允许“后台应用程序刷新”权限的应用,可以得到更多的后台权限。

打个比方,比如微信原来收到推送,点开还要收取15秒消息,那么iOS 7开启权限之后,收到推送时就会开始收取,点开时已经收取完成了。(本例子只是打比方,不代表张小龙真有)

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

现状

安卓在杀后台和保后台之间平衡

在人工智能、机器学习算法的介入下,安卓厂商设计了更加智能的后台机制。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

比如魅族会起名叫OneMind技术,能够更优雅的平衡“杀后台”和“保后台“,知道谁该杀,谁不该杀。

即使杀掉,安卓厂商也逐渐都能保留上一次App的进度了。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

Android从底层也开始借鉴iOS的墓碑机制。比如,在比较新版本的Android开发者选项中,可以看到“暂停执行已缓存的应用”,这个描述就很墓碑。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

前不久,小龙的兄弟QQ也接入了华为、小米、vivo等国产厂商的推送服务,希望小龙尽快吧。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

同时,随着安卓阵营不断堆料硬件,用户也不少吐槽应用后台留存的问题。

于是,像是刚刚发布的Redmi K60至尊版、一加Ace 2 Pro这样的国产安卓手机,已经将RAM内存加到了最高24 GB的水平,后台甚至可以保证留存七八十个app了。而12 GB机型,在2023年也还足够大部分普通用户使用。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

苹果引入灵动岛实时活动,区分应用后台状态

在去年WWDC 2022上,苹果发布了iOS 16。

其中,一个叫实时活动的新功能,我们可以视为苹果对“后台”的全新认识。

实时活动状态的App,有4种状态:等待中/进行中/成功/失败。

状态中的App会被更少的进行后台限制,应用可以实时在后台刷新最新状态,并呈现在包括全天候显示状态下的锁屏、灵动岛等位置上。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

华为也在最新的Harmony OS 4.0中加入了理念相似的“实况窗”功能。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史

总结:开放与封闭的相互奔赴

回顾主流移动操作系统的后台多任务发展历程,我们会发现Android和iOS是相互奔赴和借鉴的,iOS早期完全封闭,逐渐越来越开放,现在也不算严格的墓碑机制;Android早期完全开放,却逐渐趋于严格管理,极致情况下也成了iOS那样的墓碑机制。

没有一种机制是绝对完美的,用Android的朋友羡慕iOS生态严格管理、应用高质量;iOS的朋友羡慕Android的开放自由后台,后台打开微信从来不用“加载中”……

展望未来,iOS和Android都在探索一种更加优雅和智能的后台管理方式,只是实现方式不同。

为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史
展开 收起
172评论

  • 精彩
  • 最新
  • 今天的安卓只对后台施行能源管理,已经不控制后台对内存的占用了(反正管不住),索性硬件拉满喂饱 [傻笑] 
早期的iOS应用能墓碑是因为那会儿大家还在陪果子玩,很多应用、游戏不依赖网络同步,写出来的软件是真正意义的可以暂停,即使被墓碑封存在后台,下次打开仍然是之前切到一半的水果、飞到一半的小鸟。
今天的iOS应用十个有八个是有即时网络需求的,而且个个套皮浏览器,打开app第一件事就是联网获取最新信息,墓碑也镇不住了。你可能只能在词典、修图等app上切后台时能看得到墓碑机制的影子,而其他app不是在后台刷新、就是切回时前十秒几乎不可用的状态。果子也在逐步加内存了。但是果子的内存基本上是为每代的相机匹配的,对于多开应用还是有些吃力。

    校验提示文案

    提交
    是的

    校验提示文案

    提交
    仙踪主流安卓电池也比以前大了3倍,假设以前后台服务1小时耗电10%,现在只用3%,这可是很大的差异😱

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 感谢科普,如果安卓刷了用gms服务,是不是就能获得及时推送。三星在国内没有自己的push服务,所以不能及时推送?

    校验提示文案

    提交
    有GMS且网络正常连接谷歌,应该是可以的

    校验提示文案

    提交
    没那个条件别乱搞,有了套件不挂梯子有时候会异常耗电电哗哗的掉。而且国内小米也有mi push,以前魅族华为好像也有。虽然不喜欢小米但推送这方面做的不错

    校验提示文案

    提交
    还有10条回复
    收起所有回复
  • 这不是开发者能写的

    校验提示文案

    提交
    开发者一般是从技术和接口的角度

    校验提示文案

    提交
    收起所有回复
  • 酷安好像见过你 [抽烟]

    校验提示文案

    提交
    不是好像 是肯定 [高兴]

    校验提示文案

    提交
    收起所有回复
  • 写的太专业了,想看但看不下去 [大囧]

    校验提示文案

    提交
    这还专业,哈哈,隔壁小绿书还有半吊子开发者骂我不专业的,我开头都写清楚立场了

    校验提示文案

    提交
    写的还是挺透彻的,赞👍🏻

    校验提示文案

    提交
    收起所有回复
  • 华为的推送服务HMS都用的是安卓的APK,哪里来的底气说不是套壳 [高兴]

    校验提示文案

    提交
    笑死,你真的很懂套壳 [邪恶] ,假如我在window安装Linux虚拟机运行Linux程序,阁下如何应对 [狂汗]

    校验提示文案

    提交
    继续 再说一两年就没的说了 大部分都替换了 生态起来了

    校验提示文案

    提交
    还有26条回复
    收起所有回复
  • 在国内用果子真不是炫富,只是不想找麻烦,作为一个程序员要想正常用安卓就要24小时开翻墙,还不能用拼多多一类臭名昭著的安卓流氓软件。即使用果子也逃不掉国产应用垃圾代码的折磨,每个应用自己打包一系列环境导致安装包巨大,应用各种要权限,不给就不让用。

    校验提示文案

    提交
    那三星会适合吗

    校验提示文案

    提交
    更垃。 在国内app环境 没有专门优化 硬件拉满体验也不行

    校验提示文案

    提交
    收起所有回复
  • 现在手机内存都比笔记本夸张了…..

    校验提示文案

    提交
    是滴是滴

    校验提示文案

    提交
    收起所有回复
  • 现在的ios哪还有墓碑机制,切个应用就把后台杀了

    校验提示文案

    提交
  • 为什么苹果就不能把一个手机最基本的信号做好呢?现在苹果自己都宣布了充电有危险,有可能会爆炸。

    校验提示文案

    提交
    [邪恶] 多看这种新闻,用国产就对了

    校验提示文案

    提交
    所以苹果信号差难道不是事实?

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 那么小的内存什么墓碑都白搭,照样重新启动,安卓大内存大力出奇迹,存后台能力已经大大超过苹果了

    校验提示文案

    提交
  • 这么好的文章,强烈推荐
    在此纪念我的第一台安卓系统手机mb525,第一台苹果手机13promax,以及第一台塞班系统手机诺基亚7610

    校验提示文案

    提交
  • 国内app几天就一更新,越更新越大

    校验提示文案

    提交
  • 我个人觉得是手机厂商在默认或者说助长app的流氓行为,这样你们手机才会卡,才会换新机。我抽屉里的4s,5s都是原装系统没升级过,到现在都是流畅的一批,就跟文中说的一样,那时候的app决定了这种可能性,反观6p以后的机器就算不升级机器,也会卡。还有一点,我那时候换掉5s的主要原因是,那个拍照拍起来都糊的,专业术语这个叫追焦吗?但是后来的手机用了几年之后,拍照也从清晰到后面的糊,就是稍微有点动就很容易糊,这是为什么,有专业的解惑吗,是因为用久了防抖模块坏了吗

    校验提示文案

    提交
    都是流氓,为用户着想是不可能的,天下乌鸦一般黑

    校验提示文案

    提交
    收起所有回复
  • 现在很少人知道墓碑机制了🌚

    校验提示文案

    提交
    wp的更新把自己毁了,老机型不能更新,导致没有app

    校验提示文案

    提交
    而且7升8还不兼容ce换nt

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 苹果内存才 4g 安卓已经 24g 了 拼硬件安卓没输过 拼体验就。。。

    校验提示文案

    提交
    6g都有点不够用了还搁这吹啥

    校验提示文案

    提交
    xr 还在用 没卡过

    校验提示文案

    提交
    还有16条回复
    收起所有回复
  • 上次听墓碑机制还是在Windows phone

    校验提示文案

    提交
  • 惭愧,我的游戏本才16G内存,联想r9000p

    校验提示文案

    提交
  • [大囧] 现在在用手机8g内存感觉卡卡的 电脑才6g

    校验提示文案

    提交
  • 国内开发就是乱像,终端设备都支持推送了,很多应用为了偷流量,推广告,硬是自己留后台,就是不接入设备厂商的推送,现在移动应用体积,内存占用也都越来越大了。某宝,某多这类后续应用都2个多G了。。。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
376
扫一下,分享更方便,购买更轻松