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

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+左键转到定义非常好用,而文本编辑器就做不到了。


0 分享
gb

gb

占用内存的根本原因是

1. JAVA
2. Eclipse
3. WebStorm

而且卡顿。比webStorm都厉害

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

菜鸡前端1

有时候console.log() 没用 ,去游览器才行,弹窗有时候也没的,还以前我代码报错了,才会没的,但是我重新打开一遍又有
0 赞 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咯
0 赞 2016-11-30 16:20
飞奔的菜虫

飞奔的菜虫

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

DCloud_HB_深井冰 回复 天行者

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

天行者

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

DCloud_HB_深井冰 回复 Tendernesz

请加qq804127452
0 赞 2015-06-25 16:16
Tendernesz

Tendernesz

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

DCloud_HB_深井冰 回复 我是业余的

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

我是业余的

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

贱党萎业

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

bober

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

要回复文章请先登录注册