深井冰_01
深井冰_01
  • 发布:2014-05-27 16:59
  • 更新:2019-03-10 19:55
  • 阅读:38157

速度慢、响应卡顿、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 关注 分享
1485643604@qq.com

要回复文章请先登录注册

乔军

乔军

为什么我都不卡
2019-03-10 19:55
673011635@qq.com

673011635@qq.com

反馈卡顿没人理。。。回复的还是用户。。。哎
2019-03-09 01:08
DCloud_HB_WDL

DCloud_HB_WDL

回复 bage168@126.com: 您好,你是在进行什么操作的时候卡顿? 如遇到问题,请联系HBuilderX小助手qq: 892862887
2019-01-15 10:46
bage168@126.com

bage168@126.com

我内个去,卡到妈妈都不认识
2019-01-14 23:37
DCloud_HB_WDL

DCloud_HB_WDL

回复 4111500976: 请描述一下电脑系统。 可以加一下HBuilderX小助手qq: 892862887
2018-12-13 15:20
4111500976

4111500976

什么优化啊 打个字卡顿半天 。1.3.1最新版本
2018-12-13 15:18
阿姨不可以

阿姨不可以

回复 wupuda@163.com: 一打开HbuilderX CPU100% 内存占满 风扇呼呼转 这么垃圾的吗?
2018-11-03 08:08
wupuda@163.com

wupuda@163.com

webstorm只用了700M,这个有时候直接将我的8个G吃的干干净净
2018-03-19 19:55
gb

gb

占用内存的根本原因是

1. JAVA
2. Eclipse
3. WebStorm

而且卡顿。比webStorm都厉害

解决办法,
1. 就是自己编写IDE(用C++), (内存预计 200M以内绝对可以控制,预计应该在 150M以内)
2. HTML的预览放在 web浏览器去实现。
2017-05-18 10:39
菜鸡前端1

菜鸡前端1

有时候console.log() 没用 ,去游览器才行,弹窗有时候也没的,还以前我代码报错了,才会没的,但是我重新打开一遍又有
2017-05-10 15:49
轰炸大鱿鱼

轰炸大鱿鱼

console.log("divTemp------>"+dg
这是使用语法提示dg换成document.getelementbyid总是擦掉前面的+号
for(var j=0;j<document.getElementById("divTemp").childElementCount;j++){
这里面的document.getelementbyid索性会把j<都擦掉 循环bug找了我半天 所以怪我不用foreach咯
2016-11-30 16:20
飞奔的菜虫

飞奔的菜虫

每次打开都莫名起码的一直构建空间,构建的又超级慢~卡到不行,比Dreamweaver都卡很多倍
2016-09-22 15:36
深井冰_01

深井冰_01 (作者)

回复 天行者: 你好,请加我qq 248590311我看看
2016-07-22 15:05
天行者

天行者

最近这几次的更新,都很卡,特别是页面开多几个,页面内容多,敲入标签都很慢才反应
2016-07-22 11:58
深井冰_01

深井冰_01 (作者)

回复 Tendernesz: 请加qq804127452
2015-06-25 16:16
Tendernesz

Tendernesz

Mac Pro 项目管理器会有明显卡顿,无论是上下拖动还是右键
2015-06-23 10:14
深井冰_01

深井冰_01 (作者)

回复 我是业余的: 加下我QQ 248590311
2015-05-22 01:23
我是业余的

我是业余的

8GMac Pro 从代码编辑页面到左边导航时卡顿的无法忍受
2015-05-19 11:25
贱党萎业

贱党萎业

不怕,内存多说明功能多。我16G,向我开炮
2015-05-16 09:27
bober

bober

好吧,它的确比webstorm占内存。先试一段时间再说
2014-09-19 19:29