Skip to content

v0.3.4

Choose a tag to compare

@0Sakura721 0Sakura721 released this 27 Sep 03:15
· 114 commits to main since this release

v0.3.4

修「更新查不到带后缀的版本」、Java 下载源按实测重排、删掉那条常驻进度条,
控制台新增服务端 CPU / 内存占用显示。


[0.3.4] — 2026-09-27

Added

  • 控制台显示服务端 CPU / 内存占用(都带百分比) —— 顶部那一行现在会显示
    CPU 12%(1.2 核) · 内存 1.83 GB(22%),每 2 秒刷新;服务端没跑时不占位。
    • 服务端是 proot 的孙进程(app → proot → java),拿不到 Process 句柄,所以直接按
      pid 读内核:/proc/<pid>/stat 取 utime+stime、/proc/<pid>/status 取 VmRSS,
      pid 靠扫 /proc/*/cmdline(同时含 java 与本实例目录名)认出来。
    • CPU 必须两次采样求差(累计 tick 本身没有意义):单核占用率 = Δtick / (Δt秒 × 100)。
      服务端多线程,单核占用率可以超过 100%,所以同时给出"用了几个核",并把界面上的
      CPU% 折算成整机占用率(除以核数)—— 否则 8 核机器上的 12% 会让人以为很闲,
      其实是吃满了一个核。内存百分比按设备总内存算。
    • 解析细节(/proc 第 2 个字段是可能含空格与括号的进程名、字段不足、tick 倒退
      等)全部拆成纯函数并单独测:ProcessStatsTest 8 例。

Removed

  • 删掉选择版本页那条"常驻进度条"(真机反馈:"搜索栏和『第 2 步,共 3 步』之间有个
    常驻的进度条")。它在 WizardProgress 里,是画在步骤文字下面的
    WavyLinearProgress((step-1)/total),本意是"第几步"的静态指示。
    • 之前已经做过两轮修补(关掉无限动画、把值算对),但一条不动的进度条在中文语境里
      天然读作"有个任务卡住了" —— 怎么调都还是那个观感,所以这次直接删掉。
    • 步骤文字本身已经把话说清楚(第 2 步,共 3 步 · 选版本与资源),删掉不损失信息。
    • 列表加载中、下载中那两条真进度保留不动。

Changed

  • Java(JDK)下载源也按实测重排(真机反馈"java下载源也是,完善一下"):
    实测同一台机器、同一个 JDK17 aarch64 包(取前 4 MB):
    mirrors.tuna.tsinghua.edu.cn 5120 KB/s ✓ / api.adoptium.net 999 KB/s ✓ /
    mirrors.huaweicloud.com 0 KB/s(只回 12 KB 错误页) ✗ /
    github.com 直连(Adoptium API 返回的 githubLink)~40 KB/s ✗ 最慢。
    • 清华排第一;githubLink 现在会过一遍 GitHub 加速镜像(复用更新器那套 ——
      它本身就是 github.com/…/releases/download/… 链接);官方 API 直链保留
      (不依赖文件名猜得准,最稳);实测已坏的华为挪到最后当兜底。
    • 进度文案也说清候选来自哪(清华 / Adoptium 官方 / GitHub 镜像)。
    • 与"更新下载源"是同一套机制:Downloader.downloadFromSources 现在按吞吐探测,
      顺序只是提示,真正决定选哪个的是实测速度。