深井冰_01
深井冰_01
  • 发布:2014-05-27 16:59
  • 更新:2019-06-07 07:35
  • 阅读:48279

速度慢、响应卡顿、CPU高、占用内存高怎么办?

分类:HBuilder

===更新===
推荐在官网下载HBuilderX,这些问题都不存在了。

===历史内容===
HBuilder定位是极客用起来超爽的IDE,它的功能比文本编辑器更多,资源消耗也更多,但HBuilder可保证主流配置电脑流畅使用。
我们先说下HBuilder比文本编辑器慢的几个原因:

  1. HBuilder毕竟是IDE,功能比文本编辑器多,执行也自然会相对慢。
  2. HBuilder还自带了可调试控制台的浏览器,ide+浏览器都在这里,内存占用肯定也少不了。
  3. 插件有问题导致卡
    HBuilder的三方eclipse插件,如aptana的php、ftp插件,我们未对其做优化,有开发者反应性能不足。虽然这些插件都是开源的,但我们暂时没有精力完善他们,如果开发者基于这些开源项目做了改进或找到了更好的三方插件,请推荐给我们,我们会替换现有插件。
  4. HBuilder遇到某些情况的bug造成卡
    经过一年多的完善,目前这种情况已经比较少见了。如果大家遇到某些情况下敲代码卡,请一定反馈给我们。

不过在大多数情况下,机器性能好的话,HBuilder会让开发者感觉到难以在别处寻觅到的爽快。
我想好的开发者是宁愿把硬件配置调高,用更智能的工具做开发的。
我们的开发者中有一些创业团队,集体配置SSD高配电脑使用HBuilder开发,这种创业团队的效率极高。

然后讨论下如何让HBuilder更快的技巧,或者使用中避免不卡的注意事项。

  1. 如果有固态硬盘,把HBuilder和工程代码都放到SSD固态盘上。现在的电脑配置,cpu和内存都不是问题,往往的瓶颈是硬盘上;
  2. 同时打开的项目不要太多,把不用的项目点右键关闭,这样HBuilder就不扫描这些项目了,后台资源会释放不少
  3. 编辑大文档时慎用自动语法验证器,语法验证过程较易引发卡顿,可以在工具-选项-HBuilder-语法验证器设置里关闭,或者选择手动验证语法。
  4. 编辑大文档时,最好关闭大纲的实时同步功能。大文档的大纲结构会很多,每次移动光标实时计算大纲的位置会有点慢。可以在需要定位时再点一下同步。大纲实时同步在大纲视图的右上角的下拉菜单里。
  5. 清理无用的js框架和素材库。Js框架文件都比较大且结构复杂,素材库文件可能很多,扫描这些文件比较费时。不用的文件就移出项目。另如果不在意这些文件的扫描提示,也可以把文件移除扫描清单,这样就会更流畅点。对不用的文件或目录点右键-构建-移除构建目录。
  6. windows search index和dropxbox等工具也会监控磁盘,当项目文件目录被他们监控时,磁盘IO会比较高。在新建项目时会卡。
  7. 刚导入一个大工程时,或语法库升级时,会触发索引构建,此时cpu会比较高,并行做其他操作就会卡顿,但构建完毕后会恢复正常。
  8. 不用边看边改时,不要最小化那个浏览器,直接关掉它(ctrl+shift+p)。不然你改其他页面时,那个浏览器始终在运行,万一临时写的js有死循环,那HBuilder就挂掉了。而且HBuilder是相当于同时开了ide和浏览器,浏览器也是吃资源的。可能总体内存看着占了不少,但比较某些工具+浏览器合起来占的内存,其实也不多。
  9. 有些杀毒软件在监控HBuilder的exe和dll等文件,导致HBuilder卡顿,此时请把HBuilder的目录设成杀毒软件的白名单,禁止杀毒软件扫描。

简单说下IDE和文本编辑器的区别:
IDE有AST语法树,是专用于某种语言的优化开发工具,它能认识这种语言。
而文本编辑器是通用的,没有为特定的语言做优化,语法提示也是乱提示。
比如var a = document.getElementById("a1");。
在a后敲点出它的方法属性时,HBuilder要扫描a到底是什么,超链接?canvas?输入框?然后才会给予用户最准确的提示。
这种计算都需要在按下键盘的很短时间内完成,文本编辑器没有这些功能,它不会认识a,不管什么都提示一样的内容,所以提示速度更快。
而在所有的语言的AST构建中,js这种动态语言是最复杂的。一个function,可能根据参数不同返回多种类型,这样的function后面再点时,HBuilder都会分析function里的代码以确定返回类型。
AST不止用于语法提示,转到定义、重构变量都离不开它,这些功能也是文本编辑器缺失的。
所以在HBuilder里alt+左键转到定义非常好用,而文本编辑器就做不到了。

1 关注 分享
1***@qq.com

该文章目前已经被锁定, 无法添加新评论