??由于工作需要,經(jīng)常會同時打開很多項目,編碼過程中不斷切換。最近經(jīng)常會出現(xiàn)卡頓現(xiàn)象,嚴重的時候打一個字母卡一下,根本無法正常工作,嚴重影響工作效率。
??起初懷疑是電腦配置不夠,默默的看了一眼電腦的配置,感覺實在不應(yīng)該,畢竟是正品mac,而且其他軟件均可正常使用,非常流暢,基本肯定是IDEA的問題。雖然每次重啟之后均能恢復(fù),實在浪費時間。故從網(wǎng)上搜索到以下三種解決方案,供難兄難弟們參考。

一、擴大IDEA內(nèi)存配置
- 1.定位IDEA配置文件位置 find / -name idea.vmoptions

- 2.修改關(guān)鍵參數(shù)
-Xms1024m
-Xmx2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Xverify:none
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-Xbootclasspath/a:../lib/boot.jar
-Dfile.encoding=UTF-8
-javaagent:/Applications/IntelliJ IDEA.app/Contents/bin/JetbrainsCrack-release-enc.jar
主要參數(shù)及注解
1.Xms1024m--最小內(nèi)存
2.Xmx2048m--最大內(nèi)存
3.預(yù)留代碼緩存的大小
4.UseConcMarkSweepGC--設(shè)置年老代為并發(fā)收集
??如果內(nèi)存默認值設(shè)置的太小,項目一旦增多,IDEA內(nèi)存占用嚴重,導(dǎo)致卡斷。但是內(nèi)存設(shè)置也并非越大越好,16G內(nèi)存建議參考我上面的配置,根據(jù)網(wǎng)上大神的測試,內(nèi)存設(shè)置大于2G其實并沒有效果。設(shè)置完需要保存一下并重啟IntelliJ IDEA才能生效。
-
3.IDEA設(shè)置內(nèi)存顯示
??IntelliJ IDEA--->Preferences找到Appearance & Behavior--->Appearance勾選Disable mnemonics in menu 開啟內(nèi)存提醒
設(shè)置內(nèi)存顯示
觀察內(nèi)存使用情況
二、卸載或關(guān)閉IDEA插件(比如關(guān)閉阿里巴巴P3C代碼規(guī)范插件的實時檢測功能)

三、禁用Git(不推薦)

??Git 會實時掃描文件的修改動作,性能消耗較大,也會導(dǎo)致 idea 卡頓,如果你是用 git 命令行進行代碼的管理,建議關(guān)閉 IDEA git 插件,不過個人覺得 git 插件相當(dāng)好用,不是很推薦關(guān)閉。

