diff --git a/build.gradle b/build.gradle index d008cdd..5a3eb90 100644 --- a/build.gradle +++ b/build.gradle @@ -247,8 +247,28 @@ tasks.register('runBoxClient', JavaExec) { group = "run" classpath = sourceSets.main.runtimeClasspath mainClass = "com.axis.innovators.box.Main" + jvmArgs = [ "-Dfile.encoding=UTF-8", - "-Djava.system.class.loader=com.axis.innovators.box.plugins.BoxClassLoader" + "-Djava.system.class.loader=com.axis.innovators.box.plugins.BoxClassLoader", + + // --- 1. 提升启动速度的关键 --- + "-XX:TieredStopAtLevel=1", // 最有效的启动优化:只进行一级编译,不进入长时间的深度优化,显著缩短冷启动时间 + "-Xverify:none", // 跳过字节码验证(注意:如果插件系统有安全性要求请移除此项) + "-Xshare:auto", // 开启类数据共享 (CDS),减少类加载时间 + + // --- 2. 限制内存占用 --- + "-Xms128m", // 初始堆大小(根据你的应用复杂度可调,128m 对普通桌面应用足够) + "-Xmx512m", // 最大堆限制,防止 Java 无节制占用系统内存 + "-XX:MaxMetaspaceSize=128m", // 限制元空间(存放类信息),防止非堆内存泄露 + "-XX:+UseStringDeduplication", // G1回收器下开启字符串去重,可节省 10%-20% 的内存占用 + + // --- 3. 优化 UI 响应与 GC --- + "-XX:+UseG1GC", // 使用 G1 垃圾回收器,适合有界面交互的程序,减少停顿 + "-XX:MaxGCPauseMillis=50", // 目标 GC 停顿时间 50ms,保证 UI 动画不卡顿 + + // --- 4. 针对 Swing 的渲染优化 (可选) --- + "-Dsun.java2d.opengl=true", // 在支持的系统上启用 OpenGL 硬件加速(通常能让 UI 更流畅) + "-Dapple.laf.useScreenMenuBar=true" // 如果是 macOS,将菜单栏移至屏幕顶部 ] } \ No newline at end of file