Repository navigation
v0.3.4
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 倒退
等)全部拆成纯函数并单独测:ProcessStatsTest8 例。
- 服务端是 proot 的孙进程(app → proot → java),拿不到
Removed
- 删掉选择版本页那条"常驻进度条"(真机反馈:"搜索栏和『第 2 步,共 3 步』之间有个
常驻的进度条")。它在WizardProgress里,是画在步骤文字下面的
WavyLinearProgress((step-1)/total),本意是"第几步"的静态指示。- 之前已经做过两轮修补(关掉无限动画、把值算对),但一条不动的进度条在中文语境里
天然读作"有个任务卡住了" —— 怎么调都还是那个观感,所以这次直接删掉。 - 步骤文字本身已经把话说清楚(
第 2 步,共 3 步 · 选版本与资源),删掉不损失信息。 - 列表加载中、下载中那两条真进度保留不动。
- 之前已经做过两轮修补(关掉无限动画、把值算对),但一条不动的进度条在中文语境里
Changed
- Java(JDK)下载源也按实测重排(真机反馈"java下载源也是,完善一下"):
实测同一台机器、同一个 JDK17 aarch64 包(取前 4 MB):
mirrors.tuna.tsinghua.edu.cn5120 KB/s ✓ /api.adoptium.net999 KB/s ✓ /
mirrors.huaweicloud.com0 KB/s(只回 12 KB 错误页) ✗ /
github.com直连(Adoptium API 返回的 githubLink)~40 KB/s ✗ 最慢。- 清华排第一;githubLink 现在会过一遍 GitHub 加速镜像(复用更新器那套 ——
它本身就是github.com/…/releases/download/…链接);官方 API 直链保留
(不依赖文件名猜得准,最稳);实测已坏的华为挪到最后当兜底。 - 进度文案也说清候选来自哪(清华 / Adoptium 官方 / GitHub 镜像)。
- 与"更新下载源"是同一套机制:
Downloader.downloadFromSources现在按吞吐探测,
顺序只是提示,真正决定选哪个的是实测速度。
- 清华排第一;githubLink 现在会过一遍 GitHub 加速镜像(复用更新器那套 ——