谷歌也看不下去了!安卓内存巨大但为何还杀后台

山梨糖醇2022-09-23  36

原生Android系统支持App后台保留流程,但传统上也有逐步后台退出机制。传统上,Android系统会给App进程分配不同的状态,比如前台_App、可视_App、二级_App、隐藏_App、内容_提供者、空_App等状态。

内存不足时,系统会优先终止Empty_App进程和服务,释放内存;当内存再次紧张时,Content_Provider将被篡改,以此类推。


系统会根据Android App的不同状态来判断查杀进程的优先级。

然而,并不是每个应用程序都诚实地为进程注册一个合理的状态。很多Android的app会用一些手段修改自己进程的属性来长时间留在后台。

比如一些流氓app会启动Foreground将自己注册为前台应用,使自己的后台成为最高优先级,永远不会被系统杀死;比如一个流氓App,会利用Android的浮动窗口机制,设置一个大小为1像素的透明浮动窗口,让App一直处于激活状态,避免被杀死在后台;比如流氓app预热,后台进程使用安卓系统周期性任务连锁唤醒。打开一个app,相当于唤醒了N个app的后台...


流氓App驻留后台的经典手法——利用广播接收器触发后台自启动。

App的这些行为消耗了额外的资源,对续航和流畅度的负面影响肉眼可见。

为此,安卓系统官方也做出了一些回应。比如App随机注册startForeground状态,Android 7.0以后,会强制通知栏显示“XX正在后台运行”;比如安卓收紧了悬浮窗的权限,使用悬浮窗必须打开相应的开关;另一方面,Android 11在很大程度上唤醒了应用程序等之间的链条。


Android 7.0在通知栏里公开了很多后台运行的app。后来,这些应用程序不得不改变它们留在后台的方式。

然而,Android后台机制的许多限制要求app使用更高版本的TargetAPI才能生效,而大量app仍然使用旧的开发规范,但用户无法抛弃其中的许多规范。

因此,App强行驻留后台的行为,对用户产生了实实在在的负面影响。既然谷歌官方安卓做不到,那就只能由第三方安卓ROM来做了——哪个品牌的安卓不做,就会在用户中留下“热卡耗电”的坏名声。

所以OEM安卓杀后台,一个比一个狠。在国内,一些安卓rom甚至默认定时杀后台。即使RAM资源充足,大部分app也留不住后台进程。ROM咄咄逼人的杀后台氛围就这样诞生了。

为什么App要强行留在后台?

安卓大举杀后台是“果”,App以各种行为强行留在后台是“因”。而这一切的“根”是什么?这恐怕和安卓的生态环境有关。

与苹果不同的是,Android最初并没有为应用提供统一的推送机制,这意味着如果每个应用需要接收后台消息,它需要托管自己的进程,以便随时接收消息推送。

不过近年来Google也通过引入GCM/FCM机制对此进行了改进。App可以调用Google的服务框架GMS,通过Google的服务器实现统一的消息转发。App的消息推送可以由系统接管,App全程不需要保留后台。体验和iOS差不多。

Android上的FCM机制类似于iOS的统一消息推送,但前提是系统和App都连接了Google服务。

然而,这种机制不是强制性的。如果App没有连接GMS,甚至没有放上Google Play,完全可以忽略。但是在国内典型的应用环境下,GMS实际上是不可用的,需要App驻留在流程中,接受消息推送。

所以国内的安卓app用了很多手段在安卓系统中驻留进程,其实很大程度上是不得已而为之。当然也有商业上的考虑。鉴于国内App驻留后台的手段多种多样,国内安卓ROM为了保证其续航能力和流畅度,不得不采取更多一刀切的手段秒杀后台,造成了现在的局面。

谷歌为什么要整顿安卓ROM,杀后台?

Android ROM整改了App的后台驻留,带来了更好的续航和性能。然而,对于用户来说,这并不是体验的全部。很多用户都遇到过这样的情况——用一个App,比如音乐App听歌,切到后台一会儿,音乐就停了,因为系统杀死了音乐App进程。但是用户并不知道这是系统做的,只认为这是音乐App的问题。一时间,这款音乐App赢得了差评。

在Google Play商店中已经观察到许多这样的差评,而这显然不是开发者的错。在后台app越来越海量的趋势下,老老实实按照规范开发的app,更容易被系统在后台强行中断。体现在用户的实际体验中就是后台的app都没了,用户觉得这个app肯定有bug。

为了呼吁系统不要杀app后台,开发者甚至做了一个“请不要杀我的App”的App。

开发商无缘无故背锅,这个问题显然不是开发商能解决的。谷歌不得不亲自介入,整治安卓ROM杀后台的现象。

目前谷歌正在邀请第三方应用开发者提供反馈,想了解哪些手机品牌机型杀后台严重,以便进行更深入的调查。

安卓厂商该如何应对?

由于众所周知的原因,谷歌在中国并不推出账号相关的服务,国内的安卓生态系统与谷歌脱节。所以谷歌的相关整改对国内安卓产品应该影响不大。

不过也有很多国内安卓厂商在做海外业务。在海外市场,谷歌的声音非常重要。谷歌可能会向安卓厂商施压,要求改变系统的后台查杀策略。在这种背景下,国内外车型有必要采取不同的背景杀伤策略。在国外机型的国际版ROM中,安卓厂商要重视谷歌的意见,一定程度上修改后台查杀策略。

但是我们也要意识到,Android ROM对后台的激进扼杀所带来的负面体验在国内也是存在的。但目前国内安卓生态系统迫使安卓厂商做出这个决定。如何才能改变现状?

统一推送联盟有望从根源上解决系统杀后台和App需要在后台维护推送服务的矛盾。

近两年,工信部联合主流安卓厂商,共同推进统一推送联盟。App接入相关系统后,可实现系统级推送,无需驻留后台即可接收消息。统一推送服务需要Android ROM和App同时支持。好消息是,目前统一推送服务已经覆盖华为、OPPO、vivo、小米等众多国产品牌。相关标准和成果也将纳入中国信通院和中国互联网协会共同建立的“中国移动基础服务平台”相关体系,并在2022年中国互联网大会上正式发布。希望统一推送联盟能改变国内app常驻后台的氛围,让Android ROM没有理由大举杀后台。

摘要

总的来说,Android ROM之所以如此激进地杀后台,与Android App的行为息息相关,而这一切的根源是缺乏统一推送服务的Android生态系统。随着国外谷歌对Android控制的加强,以及国内统一推送服务的普及,情况有望改变。希望以后Android ROM和App有更好的用户体验。

Xperi第二季度业绩一览 全方位发力打造影音娱乐生态 努比亚新机曝光:搭载骁龙888芯片,不属于Z系列 魅族手机现大规模闪退/黑屏/静音故障 消费者质疑官方不作为 Xperi第二季度业绩一览 全方位发力打造影音娱乐生态 努比亚新机曝光:搭载骁龙888芯片,不属于Z系列 魅族手机现大规模闪退/黑屏/静音故障 消费者质疑官方不作为 中兴Blade V8手机开箱图赏 360N5和中兴Blade V8哪个值得买 全球首发量产屏下摄像头 中兴公布新机预热视频 真全面屏来了 中兴A20屏下摄像区域仅占屏幕的 不想选iPhone 14,还有五款国产手机也很强,用到2025年问题不大 2022年,苹果和华为旗舰手机怎么选? 金秋买点什么好?这几款手机数码产品使用后体验出色,可以参考 2022下半年换机指南:华为苹果一加小米争鸣,这四款机型很难不爱 2022年下半年想换机,三款最值得购买的国产旗舰不能错过 高端旗舰别乱选,这五款实力偏强,你选对了吗? 手机口碑很重要,这四款新机口碑较为出色,你选对了吗? 国产旗舰机怎么选?这三款性能卓越堆料足,款款都综合实力强 覆盖高中低全价位,这四款手机才是2022年的真旗舰,入手不亏 不与iPhone 14和华为 Mate 50 争风头!这四款高性价比手机,覆盖高中低三档 OPPO18年,创新科技越来越多 OPPO看着现在很多一句话重复N多篇的“洗脑式”广告 盘点3K价位几款真香机,颜值拍照都在线,每一款都很值得入手 想要买AirPods Pro 2,现在华强北耳机就能代替,但不建议入手 手机流畅度是否值得重视?OPPO Reno8 Pro上手体验感受 A16芯片被吐槽挤牙膏?游戏玩家更推荐看看这些新机 华为 Mate 50 Pro和vivo X80 Pro这两款手机怎么选择? 今天大家朋友圈最热的话题,应该就是羊了个羊如何闯关吧 iOS 16登上热搜,网友却说摆烂?现在入手骁龙8+旗舰更香 苹果14正式开售!追求高性价比,但更推荐这三款高口碑安卓旗舰

转载请注明原文地址:https://juke.outofmemory.cn/read/1745661.html

最新回复(0)