首先手机运行内容6G一开机变成2个多G,毫无疑问这应该是安卓手机。如果细细分析就要用国内安卓系统说起。
先说国内安卓机为什么上大内存吧。举一个例子,比如我们常用的微信这个APP,首先你打开微信登录账号后,你手机上的微信APP就会和腾讯的服务器保持一个长久的连接,你发一条消息给你朋友,这条消息不是直接从你的手机上发到他的手机上的,而是你的手机将消息发给了腾讯的服务器,然后腾讯的服务器再发给你朋友。这个时候就有一个问题,如果你朋友手机上的微信APP处在关闭状态下,那么即使腾讯服务器把消息发过去了,他也收不到,因为他的手机上微信APP已经完全关闭了,已经和腾讯服务器断开连接了,只有当他再次打开微信的时候,连接恢复,他才能收到那条信息。也就是说,想要及时收到消息,那么微信这个APP就不能完全关闭,需要留下一些线程在后台一直保持运行,一直和腾讯的服务器保持接连,这样一旦收到消息,系统才能及时启动消息机制提醒你。
所以,国内安卓系统下,每一个APP,都必须在后台(也就是内存里)留下一些线程随时准备接收外来信息,也就是说你刚打开手机还啥都没干,你手机上所有APP的一部分线程已经悄悄启动,进驻内存,而这些后台启动的线程是无法关闭的,因为是合法的,关闭的话用户就无法及时收到消息。另外,不要小看这些后台线程的数量,一个APP在后台里留十几二十MB确实不多,但100个APP(64G硬盘的手机就能装100个APP)加起来就要吃掉将近3G的内存!
因此,国内安卓机的内存容量必须跟着硬盘容量递增,硬盘容量越大,能下的APP就越多,就越需要更大的内存来保证这些APP留在后台的线程正常运行。
目前,国内的APP驻留后台已经把国内的整个安卓生态搞的乌烟瘴气、乱七八糟。其实好多大厂想过解决方案,比如小米推出自己的推送服务,华为也有自己的推送服务,但全都收效甚微。因为没什么开发者去配合他们,一来因为开发者适配的话需要一个厂一个厂去适配,提升了开发成本和维护成本,二来APP开发商也不愿放弃常驻后台带来的利益。
目前比较值得期待的,是安卓推送联盟,这个联盟是由工信部牵头的,运行机制和iOS的推送原理差不多,如果能全面铺开,可以解决上述问题,但这一套现在还在测试阶段,还是个美好的愿望,日后能不能全面铺开还是前途未卜。(源自余以为)