iPhone 为什么不加大内存?

图片:Negative Space / CC0

iPhone 为什么不加大内存?

文章插图
iPhone 为什么不加大内存?

文章插图
余觉得,码农这现实上是一个手艺问题,涉及到 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 的内存!
【iPhone 为什么不加大内存?】是以,国内安卓机的内存容量必需跟着硬盘容量递增,硬盘容量越大,能下的 APP 就越多,就越需要更大的内存来包管这些 APP 留在后台的线程正常运行 。
再说 iOS,它为啥就不需要大内存呢?因为苹果有本身的办事器(谷歌现实上也有本身的办事器,但国内不克不及用,下面会说) 。 iOS 的这个系统,必需搭配苹果公司的办事器才能正常运行 。 每一台 iOS 设备在联网的时辰,iOS 系统起首会和苹果的办事器成立一个长毗连 。
仍是微信那个例子,在 iOS 上,若是微信处在打开状况下,那么逻辑仍是和上述安卓的一样,差距是表现在封闭微信后 。 若是你 iPhone 上的微信 APP 封闭了,会和腾讯的办事器断开,而这个时辰,你伴侣发了一条动静给你,这条动静先发给了腾讯的办事器,这时腾讯办事器发现你手机上的微信 APP 没有和办事器成立毗连,那么它会将这条动静回头发给苹果的办事器,然后苹果的办事器收到后会发送给你的 iOS 系统,系统收到就能实时做出提醒 。 这样现实上是多了一个
,但带来的益处是你手机上的微信 APP 可以完全封闭,不需要留下多余的线程来领受动静,因为苹果的办事器会一向连结领受动静,然后将动静发给手机系统,系统再做出提醒 。

推荐阅读