什麼原理讓谷歌瀏覽器如此流暢,但是佔用了較多的內存?


我認為題主在一定程度上回答了自己的問題~


v8設計之初就是以空間換時間的路子,各種緩存,恨不得把你的內存一口吃掉。順便說,所以safari更新的時候有一句廣告語「比chrome消耗更少的資源」。


內存不用留著長毛?


我個人認為:

首先google chrome採用了改良的webkit內核進行網頁渲染(今年google將大規模修改webkit代碼,並命名為blink),能夠有效率的運用存儲器

chrome具有dns預先截取功能,在你瀏覽一個網頁的時候就會自動把你當前網頁的所有鏈接轉換為ip地址形式,這樣你點擊網頁內的鏈接就能省去了dns解析的時間(10多ms左右)

chrome採用的google研發的v8 js渲染引擎的效率很高,

chrome也支持gpu硬體加速,這功能的優勢明顯體現在圖片比較多的網頁上,可以有效的減少對cpu的依靠,也提高了渲染速度,也防止了滾動時圖片「裂」掉的情況。

同時地址欄也有一個功能所見即所得(好像叫做這個名,忘了),就是在你輸入網址或者輸入搜索關鍵詞後,在你沒有按下回車之前就開始載入網頁。不過現在這個功能好像消失了一樣(選項還在),不像以前有個版本你明顯可以看出效果來。

為什麼佔用內存高?

因為chrome用了多個進程,來防止假死,尤其是在安裝擴展程序較多的時候,幾乎是一個擴展程序一個進程(這個也說不好,比如在內存特別小的機器上面,chrome就選擇所有擴展程序一個進程)

另外webkit的高速渲染就需要更多的內存

多說句,現在的內存條都白菜價了,4g、8g內存的用戶已經不佔少數了,chrome為了更好的體驗佔用了較多的內存也值得了

我並不算太專業,歡迎各位批評指正!


推薦閱讀:

不會編程的人如何開發一個APP?
為什麼電子書沒有像視頻、音樂一樣走向免費模式?
如何寫互聯網產品分析報告,從哪些方面入手?
互聯網行業獵頭,做獵頭經常加班好累,做hr加班多嗎?
Facebook 發布了哪些開源工具?分別有何用途?

TAG:互聯網 | 網頁瀏覽器 | 計算機 |