複製鏈接
請複製以下鏈接發送給好友

瀏覽器假死

鎖定
瀏覽器假死只是通俗的説法,比較準確的説法是,在網頁(通常是標準通用標記語言的應用超文本標記語言)裝載或者運行的過程中,多種原因造成瀏覽器響應變慢,甚至無法操作的狀態。所以,“假死”並不是一個特定的BUG,僅僅是複雜的網絡環境造成的瀏覽器不穩定狀態。
中文名
瀏覽器假死
準確説法
瀏覽器響應變慢無法操作的狀態
產生原因
網頁代碼比較複雜等
防假死瀏覽器
360安全瀏覽器5.0beta版

瀏覽器假死產生原因

瀏覽器假死網頁原因

  1. 網頁代碼比較複雜:瀏覽器在處理過程中會佔用大量的CPU使用率和內存、造成瀏覽器甚至電腦失去響應;
  2. 網頁代碼有漏洞:大量個人網站和低質量網站代碼的湧現造成對瀏覽標註的普遍不支持,瀏覽器渲染引擎在處理這些網頁代碼的時候會出錯,比如陷入死循環等;
  3. 網頁數據過多:網頁含有大量需要處理的數據,造成系統繁忙,如多圖頁面,超長頁面等;
  4. 網頁控件數據過多:網頁內嵌的各種控件會導致瀏覽器處理大量數據,造成系統繁忙。如Flash遊戲,ActiveX控件等。
  5. 網頁裏面js代碼運行耗時多,而沒有用settimeout將其放到線程中運行,導致界面被阻塞,出現一定時間內的假死。
在以上情況下,如果瀏覽器框架設計未考慮多頁面瀏覽的特殊性,資源共享訪問時未做適當優化,就可能會造成整個瀏覽器因為單個頁面的處理響應過慢而變慢。 [1] 

瀏覽器假死瀏覽器及系統原因

  1. 瀏覽器內核被破壞:當瀏覽器被篡改後可能會導致假死。
  2. 使用了多個安全工具:多個安全工具同時注入瀏覽器進程很可能導致頁面崩潰
  3. 安裝了錯誤的補丁:使用管家軟件打補丁時打了不適合系統的補丁,會導致頻發假死、崩潰現象。
  4. 瀏覽器或殺毒軟件進行廣告過濾,某些網站的邏輯處理方面如果抗錯誤性未處理好,就會導致卡死。所以對殺毒軟件的監控網頁功能及廣告過濾功能,一般不要開啓。用瀏覽器本身的廣告過濾機制副作用比較好。
  5. 瀏覽器本身代碼的編碼bug。

瀏覽器假死防假死技術及其優劣

瀏覽器假死多線程技術

這種技術把網頁放到獨立的線程中執行,如Maxthon2.5.1之前的版本。這種技術會使瀏覽器佔用的系統資源相對較少。
IE8、Chrome採用的技術,把頁面放到獨立的進程中執行。
線程和進程有何區別?簡而言之,一個程序佔用一個進程,而每個進程中會有多個線程。一個進程中的線程可能會互相影響或影響整個進程,而不同的進程彼此之間就不會有太大影響。

瀏覽器假死第二代防假死技術瀏覽器誕生

360公司正式推出被網民寄予厚望的360安全瀏覽器5.0beta版。新版不僅在界面上給人以煥然一新的視覺體驗,性能也進一步提升,獨門秘技第二代防假死技術,更是把小編瞬間hold住了,堪稱國內首款“不死”瀏覽器。
360安全瀏覽器5.0版採用了第二代防假死技術,可以遊刃有餘地在複雜的瀏覽器運行環境中運行,並徹底杜絕瀏覽器假死現象,保證用户可以流暢訪問網頁,不受任何影響,並帶給用户更穩定、流暢的上網體驗。 [2] 

瀏覽器假死優劣性

以上兩種技術都是通過進程,線程模型來解決,對javascript等代碼造成的假死效果比較好,但只是不影響其他tab頁,而對已經死了的網頁,並沒有辦法不讓其卡死。但對於Flash等控件造成的假死效果不理想。
參考資料