產生原因
網頁原因
網頁代碼有漏洞:大量個人網站和低質量
網站代碼的湧現造成對瀏覽標註的普遍不支持,瀏覽器
渲染引擎在處理這些網頁代碼的時候會出錯,比如陷入
死循環等;
網頁數據過多:網頁含有大量需要處理的數據,造成系統繁忙,如多圖頁面,超長頁面等;
網頁控制項數據過多:網頁內嵌的各種控制項會導致瀏覽器處理大量數據,造成系統繁忙。如Flash遊戲,
ActiveX控制項等。
網頁裡面js代碼運行耗時多,而沒有用settimeout將其放到執行緒中運行,導致界面被阻塞,出現一定時間內的假死。
在以上情況下,如果瀏覽器
框架設計未考慮多頁面瀏覽的特殊性,資源共享訪問時未做適當最佳化,就可能會造成整個瀏覽器因為單個頁面的處理回響過慢而變慢。
瀏覽器及系統原因
瀏覽器核心被破壞:當瀏覽器被篡改後可能會導致假死。
使用了多個安全工具:多個安全工具同時注入瀏覽器進程很可能導致
頁面崩潰。
安裝了錯誤的補丁:使用管家軟體打補丁時打了不適合系統的補丁,會導致頻發假死、崩潰現象。
瀏覽器或防毒軟體進行廣告過濾,某些網站的邏輯處理方面如果抗錯誤性未處理好,就會導致卡死。所以對防毒軟體的監控網頁功能及廣告過濾功能,一般不要開啟。用瀏覽器本身的廣告過濾機制副作用比較好。
瀏覽器本身代碼的編碼bug。
防假死技術及其優劣
多執行緒技術
這種技術把網頁放到獨立的執行緒中執行,如Maxthon2.5.1之前的版本。這種技術會使瀏覽器占用的系統資源相對較少。
IE8、Chrome採用的技術,把頁面放到獨立的進程中執行。
執行緒和進程有何區別?簡而言之,一個程式占用一個進程,而每個進程中會有多個執行緒。一個進程中的執行緒可能會互相影響或影響整個進程,而不同的進程彼此之間就不會有太大影響。
第二代防假死技術瀏覽器誕生
360公司正式推出被網民寄予厚望的360安全瀏覽器5.0beta版。新版不僅在界面上給人以煥然一新的視覺體驗,性能也進一步提升,獨門秘技第二代防假死技術,更是把小編瞬間hold住了,堪稱國內首款“不死”瀏覽器。
360安全瀏覽器5.0版採用了第二代防假死技術,可以遊刃有餘地在複雜的瀏覽器運行環境中運行,並徹底杜絕瀏覽器假死現象,保證用戶可以流暢訪問網頁,不受任何影響,並帶給用戶更穩定、流暢的上網體驗。
優劣性
以上兩種技術都是通過進程,執行緒模型來解決,對javascript等代碼造成的假死效果比較好,但只是不影響其他tab頁,而對已經死了的網頁,並沒有辦法不讓其卡死。但對於Flash等控制項造成的假死效果不理想。