这种情况导致的后果是:“哭的最响的孩子有奶吃”。所有的安卓软件都希望「常驻手机后台」且「不被杀进程」,这样不但可以及时接收信息,还可以时不时出来“挠”用户一下,让你持续关注我。不但要关注我,还要关照下我的兄弟朋友。所以同一公司旗下的软件会互相唤醒,于是就有了各种著名的“全家桶”。
所有的软件都来抢占系统资源,再牛的硬件也不够分的。这也是导致安卓卡顿耗电的重要原因,也是安卓多年的“顽疾”之一。虽然经历了个版本的迭代,安卓系统控制软件「自启」和「常驻手机后台」的机制好了很多。厂商们推出的“大内存”也使得安卓机的内存更“经得起折腾”。但依然有人用8G内存的安卓机还在喊卡,或者用得不舒服。
为什么安卓系统没有推送服务呢?
其实在国外安卓系统也是有自己的推送服务的。谷歌的推送服务名叫「Google 云消息传递(Google Cloud Messaging,即 GCM)」,在 2014 年收购 Firebase 之后升级成为「Firebase 云消息传递(Firebase Cloud Messaging,即 FCM)」。
但国内厂商使用的安卓系统时往往会直接去掉了所有的谷歌服务,其中也包含统一推送的服务也一并被去掉。所有在国内安卓市场中上架的APP通常也不会去支持这一功能。
其实也并不是没有人去关注这个问题。事实上大型互联网公司和手机厂商们一直都关注这个问题。毕竟大家都是吃移动互联网这碗饭的么,建立好优秀的软件生态才是推动移动互联网发展的根本之一。
大型的互联网公司都推出过自己的推送服务,例如腾讯就有「腾讯信鸽推送」、百度有「百度云推送」、阿里巴巴有「阿里云移动推送」等等,在手机厂商方面:小米有「MI Push」、华为系有「华为推送服务」、OPPO 有「OPPO 推送平台」、vivo 有「vivo消息推送服务」、魅族有「魅族消息推送服务」等等。
开发这些推送服务的本意是好的,但是问题就在于标准不统一。软件开发者做出APP以后还要去适配所有这些推送服务,这几乎是不可能完成的任务。而如果只适配单一种推送,则其他平台上的用户将无法收到信息。最终所有的第三方开发者还是选择依靠常驻系统后台完成推送的老路……