Skip to content

1.1.0

Choose a tag to compare

@QinMoMeak QinMoMeak released this 17 Jan 09:20
· 31 commits to main since this release

完成了代码结构优化和性能提升方案。以下是主要的改进点:

1. 应用体积优化 (Build Configuration)

在 app/build.gradle 中进行了关键配置:

  • 开启 R8 混淆 (minifyEnabled true):移除未使用的代码,缩短类名和方法名。
  • 资源压缩 (shrinkResources true):移除项目中未被引用的图片、布局等资源。
  • 优化 Proguard 规则:从默认的 proguard-android.txt 切换到 proguard-android-optimize.txt,提供更深层的字节码优化。

2. 运行速度与代码结构优化 (ExportPlugin.java)

  • 引入缓冲流 (BufferedOutputStream):在保存文件时使用缓冲区,大幅减少磁盘 I/O 次数,特别是导出大数据量(如长 CSV)时,速度提升明显。
  • 逻辑解耦:将 Android 10+ 的 MediaStore 逻辑与旧版的 File 逻辑抽取为独立私有方法,使代码结构清晰,易于维护。
  • 内存优化:显式调用 bos.flush() 并使用 try-with-resources 确保所有资源(流)在任务结束后立即释放,防止内存泄漏。
  • 使用标准常量:采用 StandardCharsets.UTF_8 代替硬编码字符串,消除编码转换时的潜在性能损耗。

3. 健壮性提升

  • 完善了文件目录创建的校验逻辑(dir.mkdirs() 返回值检查)。
  • 统一了错误处理机制,确保原生层的任何异常都能通过 call.reject 准确反馈给前端应用。