Android 后台和用户之间的战争,你经历过吗?

2019-01-24
宇奇 评论
喜欢

近日,一个名为「Don't Kill My App(不要杀掉我的应用)」的网站在 Android 应用开发者和用户之间掀起了一阵波澜。网站由 Twilight、Sleep As Android 的开发者 Urbandroid 团队创建。正如网站的名字所述,它是开发者用来呼吁手机厂商不要杀掉自家应用程序后台进程的,这一举动也吸引了众多应用厂商前来支持。

▲截图自「Don't Kill My App」网站

开发者建议用户如需使用应用程序常驻后台的功能,可以将该应用移除手机的电池优化名单,也就是俗称的加入「白名单」。网站还煞有介事的列出了电池优化后台进程最厉害的手机厂商榜单。让人意想不到的是诺基亚力压一众国产深度定制、优化的 UI,登顶「杀后台」的榜首。

▲Android 9.0 Pie 的官方 LOGO

这条新闻让 Android 用户会心一笑的的同时又有那么一丝欣慰,因为自从 2008 年世界上第一台 Android 手机发布以来, 应用程序后台进程与用户体验、手机厂商优化之间的矛盾就伴随着 Android 设备一路走来,可以说这是他们之间旷日持久的战争也不为过。

得益于 Android 系统高度的开放性,用户可以自由定制自己心仪的使用体验,同时也促使出色的开发者们开发出许多功能很棒的的应用。

但开放也带来了很多弊端,首先是应用质量参差不齐。不同于对手 iOS 通过 AppStore 对应用程序进行封闭而严格的管理,Android 可以在任何渠道下载并安装应用程序,这就给许多恶意程序留下了可趁之机。流氓应用对手机肆意摆布,窃取用户个人信息、后台下载更多的恶意程序、强制锁定用户手机并实施勒索等新闻在一段时间内层出不穷。正规应用程序获取大量手机权限并读取用户信息的做法也饱受诟病。

▲图自:360 互联网安全中心《2017 年 Android 恶意软件专题报告》

其次用户最直观的体验即手机「卡」或者「不卡」,这取决于系统对内存和应用程序后台的管理机制。iOS 采用了「墓碑」机制,使应用程序进入后台即变成暂停状态,并建立了一套完整的信息推送机制,即使应用程序处于暂停或者关闭状态,也可以顺畅的接收消息。而 Android 则因为其与生俱来的开放选择了同样「狂野」的内存管理机制,应用推送也全靠自己,简单来说就是「后台进程随便跑,内存不够再杀掉」。

泛滥的后台程序造成了大部分用户从 Android 早期到现在留下的根深蒂固的印象,「卡」。从那个年代走过来的人大概都理解,用过一段时间后的旗舰机和中低端手机是一个体验的心酸。

谷歌也认识到了这个问题的严重性,于是从 Android 4.4 开始对应用程序的运行效率进行优化,自此以后的每一个迭代版本,都着力于优化应用程序在内存和电量方面的影响。通过不断完善 Google Play Store 来规范开发者的行为,以及推出 GCM 服务统一消息推送,以求减少应用程序的后台占用情况。

但是由于谷歌在 2010 年退出了大陆市场,所以大陆的 Android 用户并不能使用上述两项服务,谷歌也对大陆的应用生态缺乏有效的管理,这就导致了接下来大陆 Android 应用程序野蛮生长的阶段。

抛开恶意的流氓软件不说,即便是各大互联网企业的正规应用,为了抢占市场份额和日活量,不论是否需要,也会强制在后台留存软件进程,并偷偷下载安装自家的应用程序。还有缺少统一的消息推送体系,导致各家的推送自成一派,同一派系的应用程序会使用同一个推送进程,往往一个应用接收消息,却同时会把所有自己家族的应用程序全部唤醒。这些现象都给 Android 手机的内存管理和电池续航带来巨大的压力。

在相当长的一段时间里,「应用全家桶」的现象催生了一批优秀的独立应用商店和后台管理程序,比较经典的就是黑阈、冰箱和绿色守护这三大金刚。同时也掀起了一阵全民刷机的热潮,大家的目的只有一个「让自己的手机更快更好用」,甚至于出现了不会 ROOT或者刷机都不好意思说自己是用 Android 手机的现象。

紧接着更懂中国人的国产手机厂商开始进入人们的视线,同时也带来了更懂国产应用的定制版 Android UI,例如出色的 MIUI、EMUI、Flyme OS等,除了主打符合国人的使用习惯外,都喊出了优化后台管理、让手机像第一天一样顺滑之类的口号。

事实也证明了这些厂商的口号并没有白喊,在自家手机预装自家的应用商店来筛选靠谱的应用程序,使用系统级的整合推送服务,还有不断完善的应用关联启动和后台管理机制,都极大地缓解了应用程序后台泛滥对内存和电池造成的负担。而随着大陆手机市场的日渐增长,以往对此不太重视的国际大厂们,也开始为了吸引大陆户而朝着这个方向努力。

不过尽管手机厂商的努力卓有成效,但还是不能完全阻止「毒瘤应用」们的扩张脚步,毕竟各家的应用商店也好,推送服务也好,都还是各自为战,并没有完全统一,应用厂商们还是有空子可以钻,应用本身也越来越臃肿。

为了应对这些应用而快速发展的手机内存和电池技术从另一个层面上讲也放任了应用的肆虐,硬件厂商扩大一丝内存,应用程序就多占用一丝。截止到目前已经有了最大 12GB 内存的手机,手机电池也突破了 4000 mAh,可是实际的使用体验呢?

为了缓解部分应用程序为了接收推送消息而常驻后台或者互相唤醒的情况,工信部主持建立并推进了「中国安卓统一推送联盟」,并即将于今年的 3 月 1 日开始进行标准测试。

但这些措施毕竟是治标不治本,唯 KPI 是瞻的应用厂商们势必也会开发出更多的技术手段来应对日渐严格的应用管理。前文提到的 Sleep As Android 作为一个必须要常驻后台才可以正常使用的绿色程序,做出这种呼吁是情理之中,但那些跟着掺和的流氓应用厂商……

关于这个网站,网友们的评论是出奇的一致。

所以当应用厂商将用户体验放在第一位时,才能根本的解决这些问题,才是应用后台与用户体验结束战争之时。