Board logo

标题: [问题求助] 很难理解混合模式如何保证内存彻底释放(这个贴门槛比较高,请大大出手) [打印本页]

作者: liliang816    时间: 2009-9-6 08:25     标题: 很难理解混合模式如何保证内存彻底释放(这个贴门槛比较高,请大大出手)

混合模式官方是这样定义的:网页按打开顺序使用不同的进程分组,资源占用少,同时资源可以彻底释放。
      而据我所知默认是10个标签分成一组作为一个进程,超过10个再分一个组加一个进程,超20再分一个组加一个进程,以此类推。
      问题来了,也就是说要做到彻底释放内存必须一个组的所有标签全部关闭(这样这个组的进程才能随之结束,从而彻底释放内存),相反如果这10个标签组成的一个组里面有一个标签没有关闭内存都不会彻底释放。
      而我们在浏览的过程中,都是维持在10个左右的网页,然后不断的开新标签关标签,开的顺序是定的,但关的顺序就不定了,也就是说不知道关到哪个组了,最后最极端的可能是这10个标签就是10个组分别剩下的,也就是有10个进程,进程不被关闭最后还是没能释放内存。
      我想问,如果我们想彻底释放一次内存,是不是要把所以标签全部关闭,如果真是这样的话,我还不如用单进程模式,想释放的时候直接重启浏览器来得更彻底。
      总结,说难听点,混合模式就是开了多个单进程浏览器,每个单进程浏览器里可以打开固定数目的标签,而且还不知道哪个标签在哪个浏览器里,不能管理。
    (说得不对的地方尽管拍砖,我希望是我理解错了)
作者: jym2005    时间: 2009-9-6 10:30

提示: 作者被禁止或删除 内容自动屏蔽
作者: 258369    时间: 2009-9-6 10:38

不大可能会有这么极端的情况的
作者: 小絮    时间: 2009-9-7 11:05

所以称之为混合模式嘛,当然是折中的方法啦:在进程方面,不会像多进程模式那样每开一个页面就新建一个进程导致进程数量多,能节省资源;在资源回收方面,不会像单进程那样非得关闭浏览器才能彻底释放资源,只要某个进程的标签页面全闭关闭,该进程的资源就可以彻底释放,这样就不会因长期开着浏览器而导致所用资源越来越多。当然了,像楼主所提到的那种极端情况也是可能遇到的,在这种情况下就当作是多进程模式呗,但这种情况还是少之又少的。
作者: 轰个西哟    时间: 2009-9-7 11:09

谢谢斑竹的解答
作者: 华建    时间: 2009-9-7 11:39

之所谓为混合模式嘛,当然是折中的方法,并不是一个进程里还有一个标签没关闭这个进程就一直开着了
作者: lemss    时间: 2009-9-7 11:46

但是相比之下比单进程强的多了
作者: AY    时间: 2009-9-7 12:12

关闭所有标签就能确保释放。
作者: jym2005    时间: 2009-9-7 12:16

提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 世界之窗论坛 (http://bbs.theworld.cn/) Powered by Discuz! 7.2