手机中那些不为人知的规则


前言

最近有小伙伴问到我类似的问题,便详细的记录一下吧!这篇文章也只是单纯的记录自己所了解到的常识,以及自己的一些简单的理解,分享给我身边的小伙伴。如果其中涉及到利益或者其他相关权益,都与我无关;您可以在主页找到我的联系方式,告知我!

正文

就全部写文字吧,图片什么的就不贴了!

对于现在安卓手机发展之快,已经到了从前远远不及的层次。各大app的文件大小也是不断增加,从最常用的QQ、微信举例,最开始的QQ只有差不多13M,而到现在已经差不多快300M,文件体积增长了十倍不止,是因为功能相比以前更多了。也正是因为这样,各大厂商的手机更新换代也越来越快,不仅仅是处理器的更新,手机的内存也是慢慢的增加。对于我们来说,这或许是国内安卓机的风格了,也可以说是特色,也只是国内的特色。

细心的小伙伴可能会发现,海外版本的安卓机,不论是国内或国外销售到海外,那些安卓机主流机的内存基本上都没有国内的大,甚至小三分之一。当你看到这,如果你感兴趣,可以简单的查一下,这里就以清清小姐的华为P30举个例吧;国内版的搭配,甚至让有的机友觉得很不平衡,64G的硬盘,居然会有8G的运行内存,而且不仅仅出现在这款机型,许多厂商都会有这种8+64G的配置;其次才会有8+128G的配置,8+256,甚至12+256……反观外版的机器,大多都只是4G或者6G的运行内存,而硬盘的容量则都是128G,256G,就以上面的P30举例,都是4G+128G的内存,也不仅仅只是这一个机型,4+128的配置数不胜数,比比皆是。这种配置放在国内也能算是搭配不合理,毕竟那么小的运行内存,装再多软件也无济于事,随意开机个软件就满了,有的可能会说储存资料,的确也有,但对于各大app的功能的日益完善丰富,大内存小运存只能满足极小一部分用户的需求,对于大多用户基本上奔着大内存而去,对于手机运行的需求也会有不低的要求,许多用过安卓机的小伙伴自然是知道其中的道理,这里就不再对这个片面的问题过多余缀!

对于上面的阐述,许多人可能都以为是我们国内得了便宜,同样的价格却能买到更高的配置。其实不然,那是我们国内安卓生态的一种无奈之举。你们自己都或许会有体验,什么体验呢?你会发现就算你的手机运行内存再大,挂在后台的应用也会掉;其次,你会发现你的运行内存没有满,但是在后台的应用依旧会掉!为什么会出现这种情况呢?

这就要从安卓为什么上大内存说起了。前面提到了各大app的应用体积不断的增加,还是以都比较熟悉的QQ、微信来举例吧。当我们打开QQ时,你会登陆你的QQ账号,之后你手机的QQ便会一直和腾讯的服务器保持一个长久的连接,当你发一条消息给你的好友时,这条消息并不是直接推送到你好友手机的QQ上面,而最先接收到消息的是腾讯的服务器,而你发出的消息的第一时间也是发送给腾讯的服务器,腾讯服务器收到消息后再通过中专的方式转发给你的好友,这样便完成了远程消息通讯;许多做前端的小伙伴可能比较熟悉这个过程,因为这个和我们访问一个网站的原理的过程是一样的,发送请求->收到请求->处理请求->返回请求->显示网页;所以问题就来了,假如你好友的QQ此时处于退出关闭的状态,你的好友就不能收到这个实时消息,只有当他再次打开QQ的时候,才能收到这个消息,而那时候已然不是实时收到消息,而这时便失去了意义。这时候可能有的小伙伴便会问,我的QQ退出了也能收到消息。对!是这样的,那是因为你并没有完全退出QQ这个应用,在你看不到后台里面,会有这许多相关的进程一直在运行,这种进程我们把它称之为“常驻后台”,正是因为我们需要收到实时消息,因此这些后台回一直保持运行,且一直和腾讯的服务器保持连接状态,只有这样子,当你腾讯收到消息你的消息之时,转发给你之时你才能及时收到消息。这便是国内安卓的运行机制。

正是因为这样,所以每个app基本上都会有常驻后台的线程,他们的作用便是用于随时启动接受推送来的消息,比如我们最讨厌的各种新闻,广告啥的……虽然每个app后台进程占用的内存不多,滴水汇聚成河;不言而喻,当你的手机装了很多应用,且都打开过一次之后,你会发现你的手机什么应用都没有开的时候,运行内存就已去大半。不相信的小伙伴依旧可以自己测试,不难发现,你的手机开机较长一段时间之后,你会发现,即使你关掉所有的应用,运行内存也没有你开机时可使用那么多,甚至现在不论怎么优化,你也回不去买来时可用那么多;之前就有的小伙伴就问我,说我买来的时候8G开机可用5-6G,怎么现在开机只剩下3-4G了,用一段时间直接2-3G,尽管再多的内存,都会吃完,而你的后台的应用还是掉了!总的来就是说你的手机打开还没有使用,你手机上所有的app都已悄然启动,进驻内存,恰巧这些后台你也发现不了,你也关不掉!因此我们的隐私在一些不合法的app窃取也是很简单的事情。因此你终于也知道安卓有很多乱七八糟的权限是干什么用的了,对此我还是建议不要乱装app,以前我也不介意,但之中的“潜规则”,我们谁都不知道!虽然我们的隐私无时无刻都不在被侵蚀,但保护我们所知道的地方,那也是有必要的!

了解完国内的运行机制,或许再来理解国内的运存为什么会跟着硬盘的容量增加就很简单,硬盘容量大,终不会全部拿来存资料,而使用者的心里也会想这么大的内存,多装app也无所谓,即使不常用的也不会去管,而app增多就会导致常驻线程的增多,需要更大运行内存也毫无违和感,成为了平衡手机的重要参数之一。

反之再来说说外版的手机。这里还是以华为P30为例,顺带结合iOS。它们为什么就不需要大内存呢?这里就简单说一下苹果的iOS吧。因为苹果有自己的服务器;而iPhone所使用的iOS则是和apple的服务器搭配使用的,也是必须搭配使用的!只有这样才能保证iOS的正常运行,每一部iOS设备只要在联网状态,就会建立一个与apple服务器的长久连接。

依旧以微信为例;在iOS的设备上,如果微信处在打开的状态,那么运行的逻辑其实还是和安卓一样,那这也只是象征着运行时,我们看到的只是前台与我们用户的交互界面,但是后台却是截然不同。假如此时你朋友给你发送消息,腾讯收到消息后推送消息到你的设备上,侦测到你设备的微信是处于关闭的状态,那并不意味这你就不能收到这个消息了,而腾讯此时则会将消息推送给一直与你手机建立着连接的apple服务器,apple的服务器收到消息之时,则会发送给你的iOS设备,这样你依旧可以收到实时消息,iOS设备给你实时提醒,这样看起来似乎是多了一个步骤,但好处却是天壤之别。即使你设备所有的应用程序全部关闭,你已然可以收到各应用推送来的实时消息,这样在你手机设备的后台,完全不需要驻足后台进程,因为那些事都完全由apple的服务器帮你承接,手机只需要联网一直与apple服务器保持连接即可。

这样的构思,iPhone的内存就完全不需要跟着硬盘容量递增,再者,iOS系统的后台本就不是真正意义上的后台运行(一般只会存在听歌,下载,导航等等有限操作),其他的则是采用“墓碑机制”,也就是说当前端应用切换到后台时,超过十分钟不将此应用切换到前端,那么此应用就会被iOS系统所冻结,而我们看到的后台切换卡片只是前端切换到后台iOS系统为我们最后所截的图,所以iOS不论是官方还是深度用户的玩家,都没有清理后台这一说,官方给出的正确解答就是,iOS不需要像安卓那样清理后台,如果频繁的清理后台只会导致在你再次需要使用此应用时,重新打开来增加系统的耗电量,也正是因为这样,用过iOS的伙伴也深有体会,挂在后台的应用,不论时隔多久,当你再打开的时候,所呈现的还是你当时切换到后台的那个界面,也就是我们所理解的不掉后台,当我们想要再次启用这个应用的时候,iOS系统只需要重新将此应用解冻恢复即可,iPhone的运存也正是为了这而存在,所以才会有iPhone的2G运行内存足够媲美国内安卓6G运存胜之有余之说!

也正是因为这种运行机制,当我们不使用app时,iOS则会将其冻结,因此此app则不会存在任何后台进程活动,所以iOS设备对于我们的隐私保护非常安全也是由此而来。

外版的安卓设备为什么不加大内存,因为他们有谷歌的服务器,iOS设备由apple服务器提供支持,那么国外的安卓设备则是由谷歌的服务器提供支持了,但是为啥国内用不了呢?因为国内连接不了谷歌的服务器,这里我想很多小伙伴应该比我都懂了。既然远程的用不了,那就用本地的吧,因此只有将手机的运行内存一而再,再而三的加大,反正都是我们消费者买单!得到的效果还并不尽人意。

存在了这种无奈的举措,那么有些厂商的不仁之举就来了,反正都是要常驻后台进程,那就顺便窃取一点隐私吧。慢慢的,国内的安卓生态已经惨不忍睹,随处可见隐私的泄漏。

各大手机厂家都知道缘由,也曾提出过解决方案,但是效果并不理想。众所周知,只有一个领头羊,没有支持者无法成大器,即使有手机厂家搭建平台(如小米、华为都曾搭建过),没有各大app开发者的支持与适配,都会被慢慢磨去直至销声匿迹。如果每个厂家都要适配,那么不仅仅是对于开发者,对于各app的厂家也是巨大的挑战,设计,开发,维护等等都是需要巨大的成本,且费时费力,再者常驻后台带来巨大的利益,各厂商也不愿意放弃!

反正羊毛都是在我们消费者身上薅,能为自己省去麻烦,还有利益可图,何乐而不为呢?


文章作者: 筱雨涵
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 筱雨涵 !
  目录