Skip to content

v2.8.0

Pre-release
Pre-release

Choose a tag to compare

@Jinsens Jinsens released this 06 Dec 11:29
· 9 commits to main since this release

NyaLoader v2.8.0 更新日志

发布日期: 2025-12-06


🎉 新功能

系统下载器集成

  • 应用现已注册为系统下载器,可在浏览器中选择 NyaLoader 打开下载链接
  • 支持 HTTP/HTTPS 链接的直接处理
  • 支持多种 MIME 类型:application/octet-stream、application/zip、application/x-rar-compressed、application/x-7z-compressed、application/pdf、video/*、audio/* 等

两阶段滑动操作

  • 全新的任务列表滑动交互体验
  • 第一次左滑 → 显示操作按钮(重新下载、删除)
  • 点击按钮 → 执行相应操作
  • 点击卡片可收起操作按钮
  • 展开状态下自动禁用滑动,避免误触

下载统计功能

  • 新增下载统计页面,可视化展示下载数据
  • 文件类型分布饼状图,直观查看各类文件占比
  • 统计总下载量、已完成任务数、成功率等关键指标
  • 支持清除统计数据
  • 数据持久化存储,应用重启后保留

下载限速功能

  • 新增下载速度限制设置
  • 支持自定义限速值(KB/s、MB/s)
  • 可随时开启/关闭限速
  • 适用于需要节省带宽或后台下载的场景

🔧 问题修复

AWS S3 预签名 URL 兼容性

  • 修复了 AWS S3、Cloudflare R2 等预签名 URL 下载失败的问题
  • 实现了多级请求回退机制:
    1. HEAD 请求(最快)
    2. Range GET 请求(获取文件信息)
    3. 普通 GET 请求(最终回退)
  • 修复了从 Content-Range 头正确提取文件总大小的逻辑
    • 之前错误地使用了分片大小(1字节)作为文件大小
    • 现在正确解析 Content-Range: bytes 0-0/总大小 格式

任务卡片展开状态

  • 修复了展开后无法收起的 bug
  • 统一了展开状态的管理,由外部组件控制,避免状态不同步

删除任务时文件未删除

  • 修复了删除任务时实际文件未被删除的问题
  • 正确处理 filePath 为目录或完整路径的两种情况
  • 添加缓存目录文件清理
  • 增强日志输出便于调试

📚 许可证页面更新

更新了以下库的版本信息:

  • Compose BOM: 2024.04.01 → 2025.04.01
  • Lifecycle: 2.7.0 → 2.9.0
  • Activity Compose: 1.8.2 → 1.10.1
  • Room: 2.6.1 → 2.7.1
  • Navigation Compose: 2.7.7 → 2.9.0
  • Material Icons Extended: 1.6.3 → 1.8.0
  • OkHttp: 4.12.0 → 5.0.0-alpha.14
  • Kotlinx Serialization: 1.6.3 → 1.8.1
  • Coil: 2.6.0 → 3.2.0

新增库:

  • Hilt 2.57.2
  • Firebase BOM 34.6.0
  • Guava 33.5.0-android

🏗️ 技术改进

代码重构

  • SwipeableDownloadTaskItem 组件完全重写,使用自定义的 TwoStageSwipeableCard 实现
  • 移除了已废弃的 SwipeToDismissBox API 依赖
  • 使用 Animatable + draggable 实现平滑的滑动动画

下载引擎优化

  • 增强了文件大小检测的健壮性
  • 添加了详细的调试日志便于问题排查
  • 改进了对不支持 HEAD 请求的服务器的兼容性

📝 升级说明

此版本为功能更新版本,建议所有用户升级。

主要改进了对云存储服务(如 AWS S3、Cloudflare R2)预签名 URL 的支持,以及全新的滑动操作体验。


APK下载

app-universal-release.apk    (通用版,包含所有架构)
app-arm64-v8a-release.apk    (ARM64,推荐)
app-armeabi-v7a-release.apk  (ARMv7,老设备)
app-x86_64-release.apk       (x86 64位)
app-x86-release.apk          (x86 32位)