关于浏览器假死的原理调查

       今天搜了一些关于浏览器假死的文章。现在很多浏览器,无论是各种内核的都在谈浏览器假死的事情。到底什么是假死呢?摘引一段文章,如下:

	
	假死”、“防假死”是我们在使用浏览器的过程中提及次数非常多的两个词汇。那么,到底什么是“假死”,“防假死”的原理又是什么呢?今天就让我们来谈谈有关“假死”的话题。 

首先从概念上来解释一下。传说中的浏览器假死如洪水猛兽,人人遇而避之,万不得已只得祭出任务管理器大法。最近“假死”这个词汇大有被妖魔化的趋势——其实没有那么多玄机。“假死”只是通俗的说法,比较准确的说法是,在网页装载或者运行的过程中,多种原因造成浏览器响应变慢,甚至无法操作的状态。所以,“假死”并不是一个特定的BUG,仅仅是复杂的网络环境造成的浏览器不稳定状态。 

那么,假死是什么原因造成的?我们总结了这样几点: 
1、网页代码比较复杂: 
浏览器在处理过程中会占用大量的CPU使用率和内存、造成浏览器甚至电脑失去响应; 
2、网页代码有bug: 
大量个人网站和低质量网站代码的涌现造成对浏览标注的普遍不支持,浏览器渲染引擎在处理这些网页代码的时候会出错,比如陷入死循环等; 
3、网页数据过多: 
网页含有大量需要处理的数据,造成系统繁忙,如多图页面,超长页面等; 
4、网页控件数据过多: 
网页内嵌的各种控件会导致浏览器处理大量数据,造成系统繁忙。如Flash游戏,ActiveX控件等。 
在以上情况下,如果浏览器框架设计未考虑多页面浏览的特殊性,资源共享访问时未做适当优化,就可能会造成整个浏览器因为单个页面的处理响应过慢而变慢。 


紧接着,再看看防假死的技术都有哪些,也是从网络摘引的文章。
	通常的防假死技术有哪些?各有何优劣呢? 
1、多线程技术: 
这种技术把网页放到独立的线程中执行,这种技术会使浏览器占用的系统资源相对较少。 
2、多进程技术: 
IE8、Chrome采用的技术,把页面放到独立的进程中执行。 
@ 以上两种技术都是通过进程,线程模型来解决,对javascript等代码造成的假死效果比较好,但对于Flash等控件造成的假死效果不理想。 
线程和进程有何区别?简而言之,一个程序占用一个进程,而每个进程中会有多个线程。一个进程中的线程可能会互相影响或影响整个进程,而不同的进程彼此之间就不会有太大影响。


对于以上技术,我了解的不多。以后将认真地跟下去,看看浏览器假死到底是什么个情况。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
chromedriver 是一个用于连接 Chrome 浏览器的驱动程序,它允许开发人员通过编程语言(如Python、Java等)控制和自动化 Chrome 浏览器的行为。当浏览器假死时,可能是由于以下几个原因导致的: 1. 版本不匹配:chromedriver 的版本需要与 Chrome 浏览器的版本相匹配,如果版本不匹配可能会导致浏览器假死。 2. 资源占用过高:如果 Chrome 浏览器同时打开了大量的标签页或者扩展程序,可能会导致浏览器假死。可以尝试关闭一些不必要的标签页或者扩展程序,释放资源。 3. 网络问题:如果网络连接不稳定或者网络延迟较高,可能会导致浏览器假死。可以尝试检查网络连接,并且确保网络稳定。 4. 页面加载问题:如果页面中存在大量的资源加载或者复杂的 JavaScript 执行,可能会导致浏览器假死。可以尝试优化页面加载速度或者减少 JavaScript 的执行复杂度。 5. 编程错误:在使用 chromedriver 进行自动化测试时,如果编写的代码存在错误或者逻辑问题,可能会导致浏览器假死。可以检查代码逻辑,并且确保代码正确性。 如果遇到浏览器假死的情况,可以尝试以下解决方法: 1. 确保 chromedriver 的版本与 Chrome 浏览器的版本匹配。 2. 关闭不必要的标签页或者扩展程序,释放资源。 3. 检查网络连接,并且确保网络稳定。 4. 优化页面加载速度或者减少 JavaScript 的执行复杂度。 5. 检查代码逻辑,并且确保代码正确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值