Repository navigation
1.1.0
完成了代码结构优化和性能提升方案。以下是主要的改进点:
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 准确反馈给前端应用。