众所周知,在谷歌的框架下,一个程序要想为用户推送一条消息,这个消息的路线是这样的:(我没找到GMS的,不过IOS与GMS的推送机制是相同的)

苹果消息推送服务的流程图

当一个app想要为用户推送消息时,app的服务器会接入谷歌的推送服务器,谷歌再将这些消息统一转发到特定的设备里。这样的好处是所有app推送的路径都是通过谷歌服务器,减少了系统资源的占用。

然而,由于国内政策的一些因素,谷歌生态在中国大陆地区是无法正常使用的。但万恶的资本主义会就此罢休,放弃这样一个绝佳的广告位吗?不可能!于是,国内的厂商通过让app的推送进程常驻在后台,以确保通知消息能够正常送达。

这似乎是一个完美的替代方案,然而却导致了一个很严重的问题:当后台有过多app的推送服务常驻时,系统资源会被大量占用,这会严重拖慢系统运行的速度。
说到系统资源占用的问题,我们先来看一组国产厂商和海外厂商安卓手机的配置对比:

引用对比图
图片来源:搜狐新闻

通过以上对比不难看出,同样的机型,国内售卖的版本可能会有更大的内存。这正是由于在中国的安卓系统没有一个统一的消息推送端口造成的。每个app都为自己留了个“后门”以便于推送消息,即使你在多任务窗口将应用手动“杀死”,打开设置——正在运行的程序,你会发现app仍显示运行中。甚至你可能会发现一些使用频次并不高的app,运行时间高达几十个小时。

后台常驻带来的并不仅是对内存的占用,长时间的后台常驻会导致眼中的电量消耗,这也可以解释了为什么安装了较多app的手机耗电量严重增大。相比之下,能正常使用gms或苹果消息推送服务的设备会有更高的续航能力。

当国内软件厂商意识到后台常驻重要的“战略意义”之后,原本为了推送消息所预留的后台进程早已变味。您可以尝试打开系统设置中自带的app行为记录(如果手机系统支持)。会发现一些app会被多次异常唤醒,甚至还会有一些看起来“毫无联系”的app互相进行唤醒。软件厂商可以使用这些处于唤醒状态的后台程序收集您的个人信息,设备状态,甚至通过调用API的方式随时获取您的定位。

当然,这些“流氓行为”绝对是谷歌不可容忍的。为了应对谷歌严格的上架审查,多数app在国内应用市场和google play上上架的安装包是不完全一样的。在国内应用市场内的安装包通常广告较多,也会常驻后台。相比之下,google play上的安装包则显得老实的多。

通过这种思路,我们可以想办法是我们的安卓手机变得更加流畅。如果您有能力使用GMS以及google play,我强烈建议您在google play上下载任何app。通过谷歌的约束和统一的广告推送服务,减少了不必要的后台常驻程序,可以节省许多后台程序占用的内存,也可以提升手机的续航。

对于没有能力一直使用google服务的,您可以尝试发布在apkpure上的安装包,或在开发者选项里手动对这些后台常驻程序进行较为严格的限制。

时至今日,中国仍没有一个健全完善的统一消息推送服务,几年前工信部曾带头启动了相关的项目,但由于各个厂商都不想丢失自己的那份蛋糕,所以没有人愿意配合。华为的HMS虽然有着一样的功能,却因为生态不完善导致大部分app仍然是安卓版本,无法使用HMS的消息推送服务。

作者 Li, CL

订阅评论
提醒
guest
1 评论
内联反馈
查看所有评论
1
0
希望看到您的想法,请您发表评论x
zh_CN简体中文