|
. L. {; V9 z2 J- Y# c: T0 @$ }) b 原标题:F-Droid更新索引格式,数据量降低100倍出品 | OSC开源社区(ID:oschina2013)Android 足够开放的特性诞生了很多可以替代 Google Play Store 的商店,F-Droid 就是其中一个知名的 Android 应用商店和软件库,F-Droid 的一大特点是主库只包含免费和开源的应用程序,用户无需注册账户就可以通过 F-Droid 的网站或客户端浏览、下载和安装应用。
" ~ h' I" K# Y& B7 u 应用中如果包含广告、用户跟踪或对非自由软件的依赖,也都会在描述中一一标明该网站还提供其托管的应用程序的源代码,以及运行 F-Droid 服务器的软件,允许任何人构建自己的应用程序库。 $ k3 V/ E) d) u) }2 |
随着越来越多的应用程序进入 F-Droid,其仓库规模也在不断增长,那么包含所有应用程序及其元数据的官方仓库索引同样在不断增长为了节省带宽,并且改善用户体验,近日 F-Droid 带来了 “重磅” 更新
8 i2 F. T: w2 x* g- G3 g/ U8 W' | ,大幅减少了仓库索引的空间占用,最高可达 100 倍目前,压缩后的索引大小为 8 MB,未压缩的为 33 MB当更新资源库索引时,每个 F-Droid 客户端应用程序都必须一次又一次地下载和处理 8MB 0 e& _# G: d' N* j8 _$ ~9 K
随着此次调整,F-Droid 将只更新有变化的内容,而不是像之前一样完整更新一遍具体来说,F-Droid 的仓库索引采用的是 JSON 格式,更新后将利用 RFC 7396 JSON Merge Patch。
4 c8 S/ o7 S' \& J% p$ R 来创建更小的 JSON 文件,其中只包含自 F-Droid 应用上次更新以来的变化通过下载一个新的 entry.json文件,而不是完整的索引,实现节省带宽、加快更新索引的速度,需要下载和存储的数据也变得更小。
8 U( Q, i* s8 Y6 z 这个 entry.json文件指向完整的索引,以防应用程序之前从未更新过,或者需要所有的应用程序元数据entry.json也包含指向各种较小的 diff 文件的指针应用程序会自动选择正确的 diff,并且只下载那个小得多的文件。 : G% O! B6 d% K+ E* E: g0 a: l" ]
根据 F-Droid 的计算,最新的 diff 在压缩后只有 80 KB,未压缩的大小则是 241 KB(原本这两个数字分别为 8 MB和 33 MB),对照完整索引的话只占其 1%目前 F-Droid 最新的客户端应用程序已经支持这种新的仓库格式。
2 {3 p! O8 G2 } 开发者可以通过升级到最新版本的 fdroidserver来启用新的格式,此外 F-Droid 依然保留了旧的格式以支持旧的客户端应用程序截至 2021 年 2 月的数据,F-Droid 网站托管的应用程序超过 3800 个,同期 Google Play Store 中的应用则大约有 300 万个,从规模来看,两者还不是一个数量级的对手。 $ Y% @9 D9 U7 ?8 E
相关链接: https://f-droid.org/2023/03/01/new-repo-format-faster-smaller-updates.htmlLinux发行版“新秀”,底层从Ubuntu迁移到Debian 一人改代码搞崩推特,马斯克暴怒:ShitCode!彻底重构! Rust团队内部斗争终平息:建立新领导委员会、权力下放、宣布新的治理模型草案
" c7 f+ I% M! y" _8 p 这里有最新开源资讯、软件更新、技术干货等内容点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦返回搜狐,查看更多责任编辑:
" l4 M# ]& L; o) l- I
+ G) q2 C- y5 R2 e6 u0 d1 U. h0 M$ v
0 O& e$ J! u9 j' d C) p$ B/ X& f3 ~, ~6 O7 U5 K2 d
|