v0.8.6
v0.8.6 更新内容
🐛 Bug 修复
- 修复游戏/视频翻译退出时偶发 SIGSEGV 崩溃(Shooter use-after-free,quitSafely 后未 join 回调线程)
- 修复引导页面"无障碍服务"页"继续"按钮点击无响应(缺少 setOnClickListener)
- 修复个性化设置运行时修改部分开关不生效(漫画文字/背景颜色、AI 上下文开关/轮数未监听 prefs 变化)
- 修复模型管理页面显示 bug
🔧 其他改动
- 删除死代码:
FloatingTextView.kt整个文件、TranslationResultView.setLocked/isLockedView/onLockChanged、Incremental_Renderno-op listener - 统一
FloatingBallService显示原文模式逻辑到composeResultText()(之前双实现 DRY 违反)
v0.8.5 更新内容
🔧 其他改动
- applicationId 改为 com.moe.starflow,支持与原项目共存安装
- 修复 Gist 公告双文件不同步问题(删除过期 starflow-announcement.md)
- CLAUDE.md 补充 BallStateManager 文档 + 藏球 delay(50) 说明
📋 后续更新计划
- 后台批量漫画翻译和打包下载
- 测试本地离线翻译功能
- 添加更快、精度更高的 OCR 模型
- 优化当前专用 OCR 模型的响应速度,替换使用最新版 PP-OCRv6 模型
v0.8.4 更新内容
✨ 新功能
- 悬浮球状态图标系统(BallStateManager):Idle/Processing/Translating/Completed 四态切换 + Error 红圈脉冲动画
- 游戏/漫画模式独立悬浮球图标定制
🐛 Bug 修复
- 手动截图藏球后加 delay(50) 等 VD 刷新,避免悬浮球图标被截入翻译结果
- 分批翻译 Translating 图标提前到第一批翻译开始时显示,避免一闪而过
🔧 其他改动
- README 完全重写:专业结构、演示 GIF、功能详解
- CLAUDE.md 补充 ML Kit OCR 内置 vs 翻译需下载说明
v0.8.3 更新内容
🐛 Bug 修复
- 修复录屏超时后 imageAvailable 未重置导致持续超时的问题
- 修复 ensureBufferOrientation 在 Service context 横屏下可能获取错误屏幕尺寸的问题
- 移除 frameSeq 录屏死亡检测(框选模式下误报严重),自动翻译改用 40s pHash 超时兜底
🔧 其他改动
- 错误代码页面迁移至各 API 配置页内显示
- FAQ 合并 Q9→Q10,新增 Q11:录屏冲突症状及解决方案
- README 添加演示 GIF 并优化内容结构
v0.8.2 修订(2026-07-05)
🐛 Bug 修复
- 录屏横屏坐标对齐:Shooter 屏幕旋转后自动重建 ImageReader + resize VirtualDisplay,buffer 始终与屏幕方向对齐。修复横屏下框选底部却识别顶部文字的问题
- ensureBufferOrientation 竞态闪退:关闭旧 ImageReader 前等待回调线程执行完毕,防止 native SIGSEGV
- 自动翻译方向不匹配:startAutoTranslate 横屏时正确 return(原只弹 toast 不返回)
- 屏幕旋转时自动清除旧框选区域并停止自动翻译
🔧 其他改动
- MediaProjectionProvider / ScreenshotManager 移除冗余坐标变换逻辑
- CLAUDE.md 更新
v0.8.2 更新内容
🐛 Bug 修复
- 纯色/纯白页面精确检测:dHash 全零直接判断,防止假命中低纹理缓存页面
- 历史记录 manga-ocr 重翻译修复:模型从下载目录加载(原错误从 assets 读取)
- 历史记录原图/尺寸切换冲突修复:切换尺寸时清除原图覆盖
- 历史记录重翻译破坏多尺寸分组修复:保留完整 256-bit 扩展哈希
- 历史记录列表与浏览器分组不一致修复:统一为 256-bit 相似度算法
- 历史记录重翻译 manga-ocr 引擎选择无效修复:改为 RT-DETR-V2 + MangaOcr
- UI:按钮/下拉框黑色背景修复(亮度调整)
- DB MIGRATION_10_11 幂等化:先 PRAGMA 检查列是否存在再操作
🔧 其他改动
- 删除 PerceptualHash 中未使用的直方图/方差代码(quickSameCheck/isUniform 等)
- DetectionBridge.runOCR 各分支统一添加模型选择日志
- 纯色页面检测到后弹出 toast 提示"未检测到文字"
v0.8.1 更新内容
✨ 新功能
- 256-bit 扩展感知哈希(17×16 dHash):漫画缓存匹配更精确,减少误命中
- 截图时自动隐藏悬浮球:翻译截图不再包含球体,干净页面入缓存
- 跨截图方式缓存匹配:MediaProjection 和无障碍截图可互相命中缓存
🐛 Bug 修复
- pHash 历史记录显示完整 64 位哈希值
- 修复无障碍干净截图拦截时机 bug
- 漫画自动翻译重截图流程优化 + VirtualDisplay 死亡检测(frameSeq 不变则弹窗提示 + 关闭服务)
- 防止 overlay 污染截图(进度条/球体被截入图导致 pHash 失真)
🔧 其他改动
- 清理死代码 DAO 查询,简化 processMangaScreenshot Step3 分支
- 更新 CLAUDE.md 缓存机制说明
v0.8.0 更新内容
✨ 新功能
- 历史记录页面重构:双视图(默认视图 + 管理视图),统一卡片布局,四种显示模式
- 管理视图引擎选择器:独立于悬浮窗配置
- 管理视图:历史记录可直接重新翻译(独立 OCR→翻译→渲染→替换,不需要启动翻译服务)
- 管理视图:进程组 ZIP 下载(SAF 文件选择器选保存位置)
- 管理视图:多尺寸变体管理(切换、删除)
- 详情页全屏浏览:原文/译文切换、变体切换、重翻/删除操作
- 保存原始截图(originalImagePath),重翻时可用原图重新裁剪翻译
- 双视图时间显示:卡片显示创建/修改时间,默认视图按修改排序,管理视图按创建排序
🐛 Bug 修复
- Shooter DirectByteBuffer native crash 修复(copyPixelsFromBuffer 改用 heap byte[] 中转)
- Dialog 主题崩溃修复(Material3 + AppCompat 不兼容改用 android.app.AlertDialog)
- 引擎初始化只初始化 PP-OCR,漏了 CTD/RT-DETR/MangaOcr/MLKit
- cropRect 枚举 ordinal vs value 混淆导致选 PP-OCR 却跑 RT-DETR,OCR 永远失败
- OcrLock 未保护增量渲染路径,自动翻译和重翻同时跑会 native crash
- 缓存去重永远不命中(findCacheByHashAndSize 查废弃的 cropWidth/cropHeight,新记录存 0)
- 清除按钮误清两边历史记录
- DB Migration 5→6/6→7/7→8 缺失导致降级用户数据丢失
⚡ 性能优化
- 提取 TranslateUtils 公共翻译层,重翻和正常翻译共用同一套翻译管线
- OcrLock 单例互斥锁,保护 ONNX 引擎单例并发调用
- 统一卡片布局,净删 600+ 行冗余代码
- 翻页闪屏优化(只通知旧页面清除 override,不触发新页 rebind)
- 管理视图组内按 createdAt ASC 排序,顺序不随修改变化
🔧 其他改动
- 所有弹窗改用自定义暗色(详情页)/ 浅色(历史主页)主题
- UiUtils.showToast 替代系统 Toast,操作反馈统一
- 下载改用 SAF ACTION_CREATE_DOCUMENT 文件选择器
- CLAUDE.md UI 规范更新
下载说明: