余觉得,码农
这现实上是一个手艺问题,涉及到 iOS 与安卓两个操作系统的设计道理。
起首,安卓机上大内存,这是个中国特色,也就是说只有中国国内发卖的安卓机才会上这么大的内存,海外版的安卓机本家儿流内存根基和苹果差不了太多。图我就不贴了,大师可以本身去查一下,华为的 P30,海外版的 128G 硬盘的型号只配 4G 或 6G 内存,而中国版的 P30,64G 硬盘的型号却配上了 8G 内存;海外版的安卓机,128G 硬盘配 4G 内存触目皆是,的确不要太多,但在国内,你几乎找不到一条目 128G 硬盘配 4G 内存的安卓机。这样乍一看仿佛我们得了廉价,可其实,这是国产安卓生态的无奈之举。
先说国内安卓机为什么上大内存吧。举一个例子,好比我们常用的微信这个 APP,起首你打开微信登录账号后,你手机上的微信 APP 就会和腾讯的办事器连结一个长久的毗连,你发一条动静给你伴侣,这条动静不是直接从你的手机上发到他的手机上的,而是你的手机将动静发给了腾讯的办事器,然后腾讯的办事器再发给你伴侣。这个时辰就有一个问题,若是你伴侣手机上的微信 APP 处在封闭状况下,那么即使腾讯办事器把动静发曩昔了,他也收不到,因为他的手机上微信 APP 已经完全封闭了,已经和腾讯办事器断开毗连了,只有当他再次打开微信的时辰,毗连恢复,他才能收到那条信息。也就是说,想要实时收到动静,那么微信这个 APP 就不克不及完全封闭,需要留下一些线程在后台一向连结运行,一向和腾讯的办事器连结接连,这样一旦收到动静,系统才能实时启动动静机制提醒你。
所以,国内安卓系统下,每一个 APP,都必需在后台(也就是内存里)留下一些线程随时筹办领受外来信息,也就是说你刚打开手机还啥都没干,你手机上所有 APP 的一部门线程已经暗暗启动,进驻内存,而这些后台启动的线程是无法封闭的,因为是正当的,封闭的话用户就无法实时收到动静。别的,不要小看这些后台线程的数目,一个 APP 在后台里留十几二十 MB 确实不多,但 100 个 APP(64G 硬盘的手机就能装 100 个 APP)加起来就要吃失落快要 2G 的内存!
是以,国内安卓机的内存容量必需跟着硬盘容量递增,硬盘容量越大,能下的 APP 就越多,就越需要更大的内存来包管这些 APP 留在后台的线程正常运行。
再说 iOS,它为啥就不需要大内存呢?因为苹果有本身的办事器(谷歌现实上也有本身的办事器,但国内不克不及用,下面会说)。iOS 的这个系统,必需搭配苹果公司的办事器才能正常运行。每一台 iOS 设备在联网的时辰,iOS 系统起首会和苹果的办事器成立一个长毗连。
仍是微信那个例子,在 iOS 上,若是微信处在打开状况下,那么逻辑仍是和上述安卓的一样,差距是表现在封闭微信后。若是你 iPhone 上的微信 APP 封闭了,会和腾讯的办事器断开,而这个时辰,你伴侣发了一条动静给你,这条动静先发给了腾讯的办事器,这时腾讯办事器发现你手机上的微信 APP 没有和办事器成立毗连,那么它会将这条动静回头发给苹果的办事器,然后苹果的办事器收到后会发送给你的 iOS 系统,系统收到就能实时做出提醒。这样现实上是多了一个步调,但带来的益处是你手机上的微信 APP 可以完全封闭,不需要留下多余的线程来领受动静,因为苹果的办事器会一向连结领受动静,然后将动静发给手机系统,系统再做出提醒。
这样一来,苹果手机的内存就不需要跟着硬盘容量一路递增,因为即使 APP 完全封闭,也不影响实时领受动静。再加上 iOS 系统现实上不撑持真正意义上的后台运行(仅持后台听歌、下载、导航等有限几个操作,若是一个 APP 进入后台,10 分钟内没被换到前台来,那么系统就会将它封闭,只留下临死前的一个截图,所谓的墓碑机制),所以苹果手机的这些内存绝大部门时候内其实只为一个 APP(当前这个)办事,一个 APP 利用 4G 内存,真的是绰绰有余,有余到多的不克不及再多了。
插个题外话,都说苹果手机平安,注重隐私,也有这个原因,苹果手机上的 APP,若是封闭了,那就是真的全数线程都封闭了;而安卓,因为每一个 APP 都必需在后台留一些线程一向运行,有的无良 APP 甚至手机厂商,就不仅仅会留下领受动静的线程,还会留下偷偷开启摄像头或者麦克风的线程,去收集用户数据,而这些后台的的线程,因为是系统代码层面的工具,用户底子没可能去封闭。
最后,说一下海外版安卓机为什么也不上这么大的内存,因为海外版安卓机可以利用谷歌的办事器(前段时候闹的沸沸扬扬的安卓遏制对华为授权事务,现实上就是谷歌不让海外版华为毗连谷歌的办事器了),而利用了谷歌的办事器,推送机制就变得和 iOS 一样了,就不需要有 APP 本身的线程留在后台了,谷歌的办事器会帮 APP 们领受信息。
而因为众所周知的原因,国内安卓用户是无法毗连谷歌的办事器的,那么,APP 要想实时领受动静,开辟者也只能利用常驻后台这个方式,而让 APP 线程常驻在后台,需要大量的内存撑持,那国内的安卓机就只好加大内存。那么,谁来为这些多出来的内存买单呢?羊毛都出在羊身上,当然仍是用户,仍是消费者。这就是我们国内安卓用户的悲催之处,我们不仅要忍受隐私的泄露,还要为这样的行为买单。
今朝,国内的 APP 驻留后台已经把国内的整个安卓生态搞的乌烟瘴气、参差不齐。其实很多多少大厂想过解决方案,好比小米推出本身的推送办事,华为也有本身的推送办事,但全都见效甚微。因为没什么开辟者去共同他们,一来因为开辟者适配的话需要一个厂一个厂去适配,晋升了开辟当作本和维护当作本,二来 APP 开辟商也不肯抛却常驻后台带来的好处。
今朝比力值得等候的,是安卓推送联盟,这个联盟是由工信部牵头的,运行机制和 iOS 的推送道理差不多,若是能周全铺开,可以解决上述问题,但这一套此刻还在测试阶段,仍是个夸姣的愿望,日后能不克不及周全铺开仍是前途未卜。
所以,苹果不上大内存,真不是厨子抠门,因为没需要了,国内安卓机 12G 内存都打不外苹果 4G 内存,为什么?因为 12G 内存里,很大一部门是留给国产 APP 常驻后台用的。
就是这样。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!