发现网站加载卡顿或者性能差的情况,前端该如何去debug和优化?

这是昨天面试的时候面试官问的,我说去控制台看Timeline和Profiles(没想过这个问题,随口说的),但是我的回答好像他不满意.
他问我知不知道一个页面加载完成后js做了哪些事,还有浏览器怎么去加载渲染一个页面.
我觉得他想要的回答和这些有关,求指点.


为什么没人回答debug?优化的话yahoo那14条够了,我需要debug.

阅读 7.8k
5 个回答

减少数据库的查询,部分数据可以使用缓存

加速的方式很多,如服务器方面可以压缩合并Css、Js文件之类;网络方面有CDN优化之类的;本地方面可以做延迟Js运行等等。


你需要什么debug? chrome , firefox 的开发者工具做调测很方便的呀,各种数据都不缺。

  • 图片延迟加载

  • 前端静态文件的合并压缩

  • 加载过程中的重绘和重排

  • js的执行效率

  • CDN存放静态文件

  • 文件名MD5,缓存设置的很长。这条是优化缓存后的页面加载速度的

  • 产品目标用户的电脑速度。这条是抖机灵的。。

profile很有用啊,看看哪些类占内存和cpu过多,看看哪些类没有及时回收造成内存泄露。有些百思不得其解的性能问题都是要靠profile找问题根源的。
关于考官问你的浏览器工作机制,可以看看这篇http://kb.cnblogs.com/page/129756/
debug一般用来定位defect,而不是用来定位性能问题的。

浏览器在渲染页面时,先创建Document对象,然后开始解析页面结构,如果遇到非延迟和非异步脚本,浏览器会将该脚本下载并执行,此时页面加载暂停,是会出现卡顿现象的,所以需要将脚本放置在<body>标签的最后,不知道面试官是不是问的这个。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题