我主要是利用了VM工具進行查看,發現eclipse啓動時經常進行新生代和老年代的垃圾回收和內存擴展,基於此做的響應優化。具體代碼如下,配置在eclipse的eclipse.ini配置文件中即可:
-Xms512m
-Xmx512m
-Xmn128m
-XX:PermSize=128m
-XX:MaxPermSize=256ms
-XX:+DisableExplicitGC
-Xnoclassgc
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+CMSInitiatingOccupancyFraction=85
具體作用是指定了堆(512m)、新生代(128m)和老年代(512-128=384m)、永久代(128m--256m)的大小,避免過於高頻的內存分配;啓動過程中禁用顯式的垃圾回收;以及使用CMS垃圾回收器(可以在後臺進行垃圾回收,而不中斷對用戶的響應),以及調高垃圾回收的臨界值(內存佔用率達到85%時再進行垃圾回收)。