为什么 iOS 不支持虚拟内存?

99 天前
 tsohgdivil

iPhone 那么小的内存,最近几个 iOS 更新以后杀后台现象越来越严重,有时候我后台挂个视频通话切到其他应用,都能把我视频通话给杀了。相机应用更是重量级,基本上进个相机可以把所有其他后台应用都杀掉。

MacBook 8G 尊享版好歹还能用 SSD 寿命换一下使用体验,为啥 iPhone 又不给大内存,也不支持虚拟内存呢?

3763 次点击
所在节点    Apple
48 条回复
beijing999923
99 天前
个人不认为虚拟内存有用,安卓的内存扩展都是面子工程
ShadowPower
99 天前
让用户用得太舒服会影响新款销量
Worldispow
99 天前
你应该这么问:
为什么 mac os 支持虚拟内存,ios 不支持虚拟内存?
mac os 的虚拟内存是不是面子工程?
shenjinpeng
99 天前
感觉还是国产 App 普遍更加臃肿吧,外国佬体会不到 舍不得加内存
wclebb
99 天前
我第一个想法是:交换内存会不会耗电。
july1995
99 天前
ios 应该是支持虚拟内存的,杀后台应该和策略有关,内存吃紧的时候,苹果觉得你一个第三方 app ,我内存不足,我就要把你杀掉,对于一些优先级高的系统应用,实在是不能杀了,我就虚拟内存应个急。通常情况下,苹果会优先杀掉第三方 app ,提升自己的流畅度。 毕竟虚拟内存 速度还是要差得多。
ShadowPower
99 天前
@wclebb 会,但是比重新启动应用的耗电低
yyzh
99 天前
看网上拆解苹果有些型号的 iphone 用的是 qlc 储存芯片.如果开启虚拟内存的话性能不行的.
darkengine
99 天前
我有一台 iPhone X 测试机,没有微信支付宝,现在还纵享丝滑
LUO12826
99 天前
稍微纠正一下,op 想说的其实是 swap ,硬盘交换区,而不是虚拟内存。
听说配备 M 系芯片的 iPad 已经有 swap 了。早前也有人说越狱后发现 iPhone 也有 swap ,不过不知真伪。
wangsd
99 天前
苹果没有吗?我的 iPhone 容量快用完就会很卡,我一直以为有的呢。
RickRobust
99 天前
其实是有的,最大是 640MB ,路径在/var/vm/swapfile[0-4],具体见 https://github.com/apple/darwin-xnu/blob/main/osfmk/vm/vm_compressor_backing_store.c#L138
他是写死在 kernel 的,可能内核级越狱也许可以改,所以就是几乎不可能(除非还在用 a11 之前的设备)。
1014982466
99 天前
iOS 一直是有 swap 的,我没记错 iOS4 时代就有了吧,当时越狱后还可以改大小
superrichman
99 天前
会影响库克割韭菜
podel
99 天前
映像中不知道什么地方看到说 iphone 有冻结机制来着。会把内存里面的后台程序直接冻结保存到机器的存储里面。
恢复的时候 在载入回去。
tsohgdivil
99 天前
@podel 这个好像是需要应用主动去支持的。但是只能回复那些好序列化的状态,像视频通话,游戏这些肯定没法通过这种机制去恢复
123test1010
99 天前
你是不是对虚拟内存有什么误解,直接问 GPT ,都告诉你 IOS15 开始就引入了类似 macros 的内存交换。但是参考 macOS 的活动监视器-内存信息,内存分了很多种,实际内存、实际专用内存、实际共享内存、可清除内存等。只关心实际专业内存即可,这个是 app 自身必须占用的物理内存,其它内存的数据可以用来被随便释放,而不会导致 app 本身程序崩溃。你以为的虚拟内存就是替代物理内存,来供 app 当作物理内存用呢?本质上虚拟内存只能用来存放一些不重要的数据,可以理解为可持久化的非重要数据,用作交换。
benjaminliangcom
99 天前
安卓很多也是 ZRAM 吧,iOS 应该是有对应的内存压缩技术的
vcn8yjOogEL
99 天前
储存 Swap 比内存慢得多, 只适合存放长期冻结的 App, ZRAM 早就在用了

正常情况下 App 是应该记录当前状态的, 就算被杀掉也可以返回上次所在页面, 游戏则应该持续自动存档, 确保随时可以中断
wanguorui123
99 天前
主要还是耗电,其次是虚拟内存只能作为应急不能作为首选

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1012768

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX