Board logo

标题: [心得] 对于IOS4.21的虚拟内存我开始不解了... [打印本页]

作者: loveCK    时间: 2011-2-15 13:04     标题: 对于IOS4.21的虚拟内存我开始不解了...

有人说4.21是没有页面交换文件的,但是使用原生后台的atomic浏览器打开很多个例如威风那样的网页也不会重新load(这在3.22不安装虚拟内存的情况下是绝对不会发生的),而且会出现网页拖到一块等一秒出现一块的情况,和3.22时候安装虚拟内存一个现象,就是因为读取nand,速度较慢,但是自带的safari就很容易会重新load.这到底是atomic本身使用了nand临时存放页面还是ios4.21自带的页面交换文件呢??

现在情况变成这样,要是我打开了虚拟内存,这atomic到底如何处理这个缓存机制呢?是放弃自己的缓存机制直接存到虚拟内存的极限再使用自己开辟的内存缓存么?

作者: 50_center    时间: 2011-2-15 13:55

这个得请‘虚拟内存’大神来解答了吧
作者: 火星人一号    时间: 2011-2-16 10:35

Atomic有虚拟内存的设置?但是升完4.21后有时候还是会报内存不足啊
作者: mayokaze    时间: 2011-2-16 11:32

1.ios暂时没有虚拟内存
2.atomic具体实现不明,猜测是类似把内存中的位图快照存入nand,需要时读出来调用设备显示,跟虚拟内存两码事
3.虚拟内存也不是银弹,苹果到现在还不加也是有理由的,以前爱撕衣回过一贴
http://bbs.saraba1st.com/2b/read ... age-1.html#13789437
引用:
再来说虚拟内存,的确"虚拟内存"这个名字容易引起误会,叫做页面文件或者页仓库会好理解得多.
页面文件是没法直接寻址的,当内存里面找不到当前页项的时候系统会触发一个page fault.
page fault后unix的做法是顺序从queue里面找,见1设0,见0swap出去(程序执行时每引用一个页面系统置为1).这样的话其实可以看到虚拟内存寻址的消耗并不只是swapping的消耗这么简单,这就是大多数人的误区吧,以为虚拟内存就是拿硬盘去当内存.
这就好比一个超市,货架是内存,仓库是虚拟内存,若一个超市需要频繁从仓库里面拿东西给顾客效率可想而知了.
以上还是理想的paging模型,实际的swap要更为复杂,如本楼的例子一个tab不可能只占一个页面,这就牵扯到segment和buddy system的寻址和管理,既然是科普就不多扯了.
[ 本帖最后由 mayokaze 于 2011-2-16 12:27 编辑 ]
作者: helllee    时间: 2011-2-17 01:16

我现在4.21禁用了官方后台 开启background 如果不强制开启虚拟内存 就卡的一b 但是开启了 就周期性崩溃.....
作者: 鬼冢英吉    时间: 2011-2-17 10:48

posted by wap, platform: UC

你们4.2.1的装虚拟内存的做过压力测试吗?就是打开9个N多图片的网页然后来回切换,死机吗?
作者: zmqzmqzmq    时间: 2011-2-17 11:44

你们的BG设置估计有点问题。。。。虚拟内存开多了东西是一定要卡的,太快的内存数据交换也肯定要崩的。

http://bbs.weiphone.com/read-htm-tid-1216975.html




欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/) Powered by Discuz! 6.0.0