为什么安卓不采用和苹果一样的墓碑机制?浅谈iOS与Android后台史
作为一个观察者经历者,而不是一个专业的开发者,我只能通过一个相对专业的用户视角为你解答。
早期
几乎单任务的iOS
其实在iOS和Android发展的早期,正如提问问题所说,早期iOS的后台管理机制十分严格,甚至iOS 4之前完全不开放给第三方,仅提供给系统原生的通话、录音、音乐等进程,这个阶段我们不严谨的、大概的可以称之为单任务系统;
放任不管的多任务Android
而早期Android则十分宽松,应用几乎是想挂后台就可以挂,原生甚至没有提供开放给用户的任务管理UI和切换方式,从Android 2.3那个年代过来的朋友应该知道,当时甚至还需要自己装一些第三方的任务管理器app。
发展
iOS 4墓碑多任务,Android 4.0引入多任务管理
随着应用更多可能性的百花齐放,以RAM内存为代表的手机硬件开始跃进,这时用户、App都有更多的多任务需求了。
因此,无论是iOS 4(2010年)还是Android 4.0(2011年),都出现了系统原生的多任务管理,iOS 4是通过双击home键呼出,Android 4.0通过单独的多任务键。
这二者都更多的以“最近使用的任务”,而不是“任务管理器”形式出现。
这也就能解释原生Android 4.0和iOS 4都没有“一键清理”,Android 4.0是通过比较隐蔽的“滑动任务”去关闭的,iOS 4则是通过“长按后台应用图标”-“点击左上角(-)关闭按键”。
从这个命名和操作逻辑,其实就可以看出,这个阶段其实不太提倡用户进行手动管理的。
随后在国内安卓这边,出现了一些变化。
一是在2014年前后那会,提供Android系统内互联网服务的Google,在大陆境内出现无法访问的情形,让大陆地区的安卓生态逐渐更加独立;
二是底层十分开放的特性,让应用可以轻易获得自启动、相互唤醒的权限,与此同时还有各种隐私权限齐唱“我家大门常打开”;
前者,谷歌原本在Google Mobile Service谷歌基础服务中提供的Google Play应用市场无法使用。
这就冒出、强大了一大堆以豌豆荚、91手机助手、应用宝、360手机助手为代表的应用分发服务,应用不再需要经过谷歌的严格审核,上架国内分发渠道审核很松;
谷歌的Firebase Cloud Messaging (FCM) 统一推送服务在国内无法继续使用,会造成应用关闭后收不到推送消息的情况。
由于无法使用统一的FCM,个推等应用推送服务出现壮大,但每一家都需要在后台驻留保活一个进程才能实现及时推送。
后者,且可以轻易获得后台自启动、应用相互唤醒权限,在国内的安卓用户就“有福受”了:即使用户在多任务管理中手动关闭应用,为了保活,应用还是会孜孜不倦的在后台启动,不同应用还会“结盟”互相唤醒,在后台常常呈现“你方唱罢我登场”的态势。这让国内安卓生态混乱了许多。
作为对比,iOS有统一的Apple Push Notification service(APNs)苹果推送服务、审核严格的App Store和只允许短暂或特殊情况的后台任务管理。
在那个年代,也就给很多用户树立了一种苹果虽然RAM内存不大、“墓碑假后台”,但后台严格管理,不卡顿;安卓虽然更大RAM内存、真后台多任务,但根本没人能管住,开机时间长了就被占满,各种自启唤醒、严重卡顿。
后期
国产厂商和谷歌镇压后台
既然App不讲武德,国内安卓手机厂商当然不会放任。
2013年,以小米的MIUI V5系统为代表,一个接一个的国产安卓定制系统开始严加管控后台和唤醒权限。
此后几年,这成为了一个大趋势。最极端的情况下,在部分国产安卓系统上的后台管理策略约等于苹果的墓碑机制了。
比如,Flyme直接明确了“待机三分钟自动清理后台”。
同时,除了必要的唤醒,全部一刀切禁止掉自启动和相互唤醒。
可是,墓碑机制是建立在苹果有APNs的情况下,那国产厂商在没有FCM的情况下效仿,如何保证消息送达?
正如之前手机里跑着的各种国内第三方推送服务,这次,只要软件厂商接入后,手机厂商统一成一个保留运行就好了——小米手机只留小米,魅族手机只留魅族,OPPO、vivo、华为同理。
极端情况就是应用不接入手机厂商推送服务:
一种是应用“厉害”,比如我们全世界最优秀的产品经理、只向苹果APNs和谷歌FCM低头,而不鸟国产的微信张小龙。
这种情况下,华米ov都单独得给微信这种app开“特权”,默认不限制微信后台、允许微信随意自启动;
一种是在大陆水土不服、也不是那么在乎大陆的厂商,比如索尼。
那应用本来是真·小而美,或者手机厂商没有提供推送服务,那就只能用户自己给开白名单,或者应用自己自求多福——所以会出现用户点开一个app后才会蹦出一堆消息的情况,平时不开启应用就完全没消息。
中国互联网软件厂商影响力越来越大——国际上也出现各种流氓自启动等骚操作、中国手机厂商影响力越来越大——严格的后台策略也逐渐被谷歌纳入原生Android系统设计规范中。
这样一番“镇压”操作下来,大家也确实发现安卓手机更省电了、更流畅了、越来越好用了——除了极少的极端情况下,不过即使强如苹果也会漏推送。
不过有一点是,早期安卓的“杀后台”确实简单粗暴,不会像“墓碑后台”一样记住你上一次打开的页面,因此早期机制策略不完善那会儿,安卓会丢失上一次应用进度。
苹果逐渐开放一定权限
在这几年中,被用户吐槽严格封闭的苹果也在做出改变:
iOS 7中,后台多任务页面也被改为了卡片式,上滑卡片即可关闭。
而在表象之下,iOS 7迎来了“更真”的后台。
部分被允许“后台应用程序刷新”权限的应用,可以得到更多的后台权限。
打个比方,比如微信原来收到推送,点开还要收取15秒消息,那么iOS 7开启权限之后,收到推送时就会开始收取,点开时已经收取完成了。(本例子只是打比方,不代表张小龙真有)
现状
安卓在杀后台和保后台之间平衡
在人工智能、机器学习算法的介入下,安卓厂商设计了更加智能的后台机制。
比如魅族会起名叫OneMind技术,能够更优雅的平衡“杀后台”和“保后台“,知道谁该杀,谁不该杀。
即使杀掉,安卓厂商也逐渐都能保留上一次App的进度了。
Android从底层也开始借鉴iOS的墓碑机制。比如,在比较新版本的Android开发者选项中,可以看到“暂停执行已缓存的应用”,这个描述就很墓碑。
前不久,小龙的兄弟QQ也接入了华为、小米、vivo等国产厂商的推送服务,希望小龙尽快吧。
同时,随着安卓阵营不断堆料硬件,用户也不少吐槽应用后台留存的问题。
于是,像是刚刚发布的Redmi K60至尊版、一加Ace 2 Pro这样的国产安卓手机,已经将RAM内存加到了最高24 GB的水平,后台甚至可以保证留存七八十个app了。而12 GB机型,在2023年也还足够大部分普通用户使用。
苹果引入灵动岛实时活动,区分应用后台状态
在去年WWDC 2022上,苹果发布了iOS 16。
其中,一个叫实时活动的新功能,我们可以视为苹果对“后台”的全新认识。
实时活动状态的App,有4种状态:等待中/进行中/成功/失败。
状态中的App会被更少的进行后台限制,应用可以实时在后台刷新最新状态,并呈现在包括全天候显示状态下的锁屏、灵动岛等位置上。
华为也在最新的Harmony OS 4.0中加入了理念相似的“实况窗”功能。
总结:开放与封闭的相互奔赴
回顾主流移动操作系统的后台多任务发展历程,我们会发现Android和iOS是相互奔赴和借鉴的,iOS早期完全封闭,逐渐越来越开放,现在也不算严格的墓碑机制;Android早期完全开放,却逐渐趋于严格管理,极致情况下也成了iOS那样的墓碑机制。
没有一种机制是绝对完美的,用Android的朋友羡慕iOS生态严格管理、应用高质量;iOS的朋友羡慕Android的开放自由后台,后台打开微信从来不用“加载中”……
展望未来,iOS和Android都在探索一种更加优雅和智能的后台管理方式,只是实现方式不同。
值友4252418678
校验提示文案
值得一提8888
校验提示文案
xbra
校验提示文案
叔叔四十
校验提示文案
麵兒
校验提示文案
骚哥哥
校验提示文案
samuel37
校验提示文案
KuhnT
校验提示文案
六兆年的节操子
校验提示文案
boboto
校验提示文案
东邻女伴
校验提示文案
倾听你的微笑
在此纪念我的第一台安卓系统手机mb525,第一台苹果手机13promax,以及第一台塞班系统手机诺基亚7610
校验提示文案
shenpeng1975
校验提示文案
回转三文鱼
校验提示文案
Luo1015
校验提示文案
值友9838501467
校验提示文案
lavida2012
校验提示文案
唐牛才是食神丶
校验提示文案
嬲哒恩屋里
校验提示文案
小鱼今天不上班
校验提示文案
海洋之猪
校验提示文案
MrBrainZhang
校验提示文案
离这世界万光年
校验提示文案
人生若只如初見
校验提示文案
值友8379633722
校验提示文案
墨玉如霜
校验提示文案
三丈
校验提示文案
西瓜啵啵君
校验提示文案
lyk0551
校验提示文案
伊古德拉希尔
校验提示文案
苏漠然
校验提示文案
Stodo_Moka
校验提示文案
xq0105
校验提示文案
麵兒
校验提示文案
习惯是一种解药
校验提示文案
扯车撤彻
校验提示文案
我真是老万
校验提示文案
回转三文鱼
校验提示文案
LysuRe
校验提示文案
范达音x
校验提示文案