全面重构,解决了多个资源管理和性能问题:
资源泄漏修复:
- ** ‘ findInSkijaJar() ‘中的JarFile泄漏**:通过实现try-with-resources模式修复未关闭的’ JarFile ’资源,确保JAR文件在读取后正确关闭
- ** ‘ libStream ‘的双重关闭问题**:通过切换到try-with-resources来消除冗余流关闭,防止潜在的’ IOException ’试图关闭已经关闭的流
临时文件管理:
-增加了‘ cleanupTempDir() ’方法,在本机库加载完成后递归删除临时目录
-防止在多个游戏启动时在系统的临时目录中积累临时文件
- 性能优化: *
- 平台检测缓存:添加‘ cachedPlatform ’字段到‘ PlatformDetector ’,以避免重复读取系统属性(' os.name ', ' os.arch ')
- 未知平台的早期返回:当平台检测返回UNKNOWN时增加警告日志和早期退出,避免不必要的库查找尝试
- 代码清理: *
-删除多余的‘ isNativeLoaded() ’检查' SkijaPatchMod。onInitializeClient() ‘,因为’ preload() '已经在内部处理此问题
-消除了冗长的注释在‘ SkijaLibraryMixin ’,同时保留必要的文档
-清理“构建”。通过删除空的‘ loom{} ’块,不必要的注释处理器声明和空的发布存储库
-删除了未使用的导入(例如,‘ java.lang.reflect. ’)。方法‘)和未使用的’ SKIJA_VERSION '常量