为什么 12G 内存的 Android 手机,依旧会被杀后台

希望靠谱、省电的统一推送系统能成为改观的第一步 , 也希望 @OasisFeng 口中那个甚至可以跨越设备重启恢复「后台状态」的理想化生态早日到来 。
本内容经授权转载自「少数派」;由爱否科技精选推送 。
只有在极端情况下,比如 Android 系统在回收掉所有缓存进程后发现空闲内存依然不够用(比如在低内存的「老爷机」上运行《崩坏 3》),这时 LMK 才会根据优先级继续对服务进程、可见进程和前台进程采取回收策略 。而当这些我们在正常使用中能够直观感受到的进程都不得不被被回收时,文章开头提到的微信重载、音乐中断、下载消失等等现象也就出现了 。
?
谁动了你的后台
在可用内存充裕的情况下遭遇「杀后台」现象 , 一方面可能是 LMK 这把「大刀」出了问题(常见于 Android 9 时期的 Pixel 3 用户),另一方面则有可能是其它规则额外干预了 Android 系统正常的内存回收机制 。
这里提到的「其它规则」主要有两种形式,一种类似部分华为设备上预装的「省电精灵」,它会将所有没有加入后台白名单中的应用后台统统清除 , 另一种则依托于 Google 推出的后台检查、后台限制和自适应电池等功能进行「魔改」,让这些功能的实际效果远超预期,甚至达到意料之外的负面效果 。
根据 Don\’t kill my app! 的统计,第二种后台干预机制在三星、一加和早期的诺基亚机型中常见,这里厂商们通常会用到一种类似「白名单」的方法来进行过滤 。
以三星手机基于 Android 9 的 One UI 为例,除了微信、QQ 等国内常见应用,One UI 默认会为所有第三方应用关闭「允许后台活动」这一选项,同时开启「优化电池使用量」这一功能 。
One UI 的后台管理
部分搭载氢 OS 的一加机型则将上面提到的应用进程进行拆分,除了基于原生 Android 的后台限制、电池优化,还有一套名为「自启动管理」的设置来对应用的自启动进行管理以及一套名为「深度优化」的电池优化机制,后者会造成很多智能手表、手环设备在一段时间后丢失与手机的蓝牙连接,最终导致睡眠追踪、运动记录等等功能的失效 。
氢 OS 的自启动管理
【为什么 12G 内存的 Android 手机,依旧会被杀后台】问题在于上述功能埋藏较深,一般用户在安装应用后往往不会第一时间前往设置,一加的氢 OS 更是以系统更新之后自动重置部分用户设置闻名,那些需要在后台正常工作的应用,因此也被都被直接扔进了原生 Android 中用来限制「毒瘤」应用的「黑箱」里 。
换句话说,国内大部分定制 ROM 在后台管理这件事情上都选择采用一种「宁肯错杀一千不肯放过一个」的做法 。
?
多任务管理还是后台管理?
从某种程度上来说,国产手机厂商在 Android 后台管理上的做法虽然偏激 , 但它们都是国内特殊生态下的产物。
一方面,尽管 Google 为 Android 设想了一套非常理想化的应用运行与后台管理机制,但大多数于原生 Android 中行之有效的后台管理机制在国内似乎都会变成「鸡肋」 。
如果 Google 有 100 种提升 Android 应用运行效率,保证后台绿色、纯净的方法,国内毒瘤应用开发商就有 101 种绕过这些限制的方法 。
借助共用的第三方推送服务实现链式唤醒、借助透明的悬浮窗保证后台存活、通过不断获取定位的方式来避免进程被系统回收……不管是出于实现消息推送这样单纯的目的还是为了不断唤醒用户设备以实现 KPI 目标这种下作的行为,在国内 Android 生态中均有出现 。
绿色守护专门针对链式唤醒推出的唤醒追踪功能
虽然国内外的具体环境有所不同,但这类设计不规范的 Android 应用带来的问题却是一样的,这类应用放在后台不仅不会为我们带来便利,反而还会因为频繁唤醒设备带来不小的耗电问题 。待机续航问题作为悬在国产 Android 机头顶的几把利剑之一,手机厂商不得不各自从系统层面推出自家的应对机制——这就有了上面提到的各种偏激式的后台管理方法 。
另一方面,这里还涉及到一个非常重要的概念区分:多任务管理和后台管理究竟是不是一回事?
国内 Android 生态由于早期受 iOS 影响较深,无论是开发商还是用户都更倾向于把「将应用卡片从多任务列表里划掉」的行为理解为清除对应用的后台进程 。在上面提到的特殊生态环境的影响之下,这里被清除的后台进程往往又包括那些用于保证应用后台运行的可见进程、服务进程乃至前台进程在内 。
iOS 的任务管理方式 | 图:
Javi Pérez
在酷安应用市?。踔粱褂械靡栽谠?Android 上实现类似「划掉卡片即停止运行」效果的应用,iOS 的后台管理理念在国内有多么深入人心可见一斑 。
但这种后台管理理念却与 Google 对 Android 的多任务管理设计方式相悖 。Google 一直以来都将 Android 手机上呼出任务卡片的那个界面叫做 Recents,最近几个版本的 Android 系统更是将其本地化为「概览」 。结合 Google 在 Android 9 和 Android 10 手势交互上的变革,注重多任务管理而非后台管理的意图也越发明显 。
当最近运行的应用以一张张卡片的形式呈现在我们面前时,Google 想要呈现的是一个能够让我们在不同任务间快速切换的多任务交互 , 而在理想状态下,后台管理则是交由系统处理、完全不应被用户感知的 。
至于如何理性看待 Android 平台的后台管理 , 这里我们不妨借用绿色守护开发者 @OasisFeng 在「Android 多任务界面的划除交互」这个话题上的答疑来回答这个问题:
Android 从 8.0 开始大幅度调整了应用的后台控制策略……原则上,只要适配了 Android 8+ 的应用,就不能再持续在后台占据内存……至于耗电,这是一个需要平衡的取舍,你如果的确需要某个应用的后台机制 , 那就得让它略微耗一点电(不能既要马儿跑得快,又让马儿不吃草吧) 。如果你压根不需要它的后台机制 , 或者它的后台耗电太过分了,那么你可以在应用设置中限制应用的后台能力(非原生系统可能不一定有这个选项) 。总之,你并不需要「杀应用」,也没必要为这些破事儿操碎心 。
这种关注多任务管理、将后台管理主动权交还给系统的理念,随着本月初 Android 10 的正式放出还将得到进一步强化——Google 将不再允许预装 Android 10 的手机通过清除多任务卡片的方式来终止后台进程,这个要求同样也被加入了 Google 的 CTS 认证流程 。
换句话说 , 今后绝大部分需要在海外市场搭载 Google 服务上市的手机都必须满足这个要求 。
?
小结
就在上周三(9 月 25 日),酝酿已久的安卓统一推送联盟正式宣布收到华为、OPPO、一加和 realme 四家公司的进度确认,虽然 Google 的缺席也让国内 Android 生态也变得异常复杂,但国内 Android 设备也能用上的统一推送服务也算是终于迈出了具有实际意义的第一步 。
只是距离转变人们对 Android「杀后台」这件事的看法依然还有很长的路要走 。事实上,国内早在四五年前就出现过一次对「Android 需不需要『杀后台』」问题的科普,但收效甚微,盲从 iOS 设计风格和交互逻辑国内 Android 厂商要负很大一部分责任 。
希望靠谱、省电的统一推送系统能成为改观的第一步,也希望 @OasisFeng 口中那个甚至可以跨越设备重启恢复「后台状态」的理想化生态早日到来——至于当下,我们依然只能见招拆招,遇到应用无法正常执行后台任务时打开手机设置仔细翻找、设置 , 把它们扔进白名单或是给它们的后台卡片套个「锁」……
下载、安装了一款非白名单应用,该如何确保它不被「杀后台」呢?欢迎在评论区把你的设置方法分享给大家 。
以上就是朝夕生活(www.30zx.com)关于“为什么 12G 内存的 Android 手机,依旧会被杀后台”的详细内容,希望对大家有所帮助!

猜你喜欢