找回密码
 加入慢享
猜你喜欢
旅行常客论坛

苹果墓碑机制这么厉害,安卓为啥不用?

[复制链接]
发表于 2023-8-30 17:30:41 | 显示全部楼层 |阅读模式
点击上方名片关注我们

iOS与安卓,是一对天生的冤家。
总会有人将iOS系统和安卓系统拿来进行比较,并且一直在探讨两者究竟有什么不同。

从表象上来看,Android完全开放,iOS完全封源开发,这也是最大的区别。不过很多人在了解之后,也提出了一个问题:“iPhone有一个很牛的墓碑机制,为什么安卓不使用呢?”

带着这个问题,我们邀请了「什么值得买App」创作者「伦Ellen」进行了专业的解答。从各个方面讲述了各类知识。

那么,在他的眼里,这一切的原因是什么呢?



从源头,看本质?

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

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

随着应用更多可能性的百花齐放,以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开启权限之后,收到推送时就会开始收取,点开时已经收取完成了。




iOS与安卓的现状

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

在人工智能、机器学习算法的介入下,安卓厂商设计了更加智能的后台机制。
比如魅族会起名叫OneMind技术,能够更优雅的平衡“杀后台”和“保后台“,知道谁该杀,谁不该杀。
即使杀掉,安卓厂商也逐渐都能保留上一次App的进度了。
Android从底层也开始借鉴iOS的墓碑机制。比如,在比较新版本的Android开发者选项中,可以看到“暂停执行已缓存的应用”,这个描述就很墓碑。
同时,随着安卓阵营不断堆料硬件,用户也不少吐槽应用后台留存的问题。
于是,像是刚刚发布的Redmi K60至尊版、一加Ace 2 Pro这样的国产安卓手机,已经将RAM内存加到了最高24 GB的水平,后台甚至可以保证留存七八十个app了。而12 GB机型,在2023年也还足够大部分普通用户使用。

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

在WWDC 2022上,苹果发布了iOS 16。
其中,一个叫实时活动的新功能,我们可以视为苹果对“后台”的全新认识。
实时活动状态的App,有4种状态:等待中/进行中/成功/失败。
状态中的App会被更少的进行后台限制,应用可以实时在后台刷新最新状态,并呈现在包括全天候显示状态下的锁屏、灵动岛等位置上。
其实,回顾主流移动操作系统的后台多任务发展历程,我们会发现Android和iOS是相互奔赴和借鉴的,iOS早期完全封闭,逐渐越来越开放,现在也不算严格的墓碑机制;Android早期完全开放,却逐渐趋于严格管理,极致情况下也成了iOS那样的墓碑机制。

写在最后

最后,没有一种机制是绝对完美的,用Android的朋友羡慕iOS生态严格管理、应用高质量;iOS的朋友羡慕Android的开放自由后台,后台打开微信从来不用“加载中”…展望未来,iOS和Android都在探索一种更加优雅和智能的后台管理方式,只是实现方式不同。

当然,如果你对于系统方面也“颇有研究”,也可以在评论区说出你的想法,让大家一起讨论!或点击“阅读原文”,了解更多信息!


-阅读更多-


-关注我们-

回复

使用道具 举报

快速回复 返回顶部 返回列表