Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我一直在对我们的 Unity 游戏进行一些测试,如果 APK 使用 LZ4 而不是 Zlib 压缩,我们似乎可以将游戏压缩到一半大小。
Android不使用LZ4有什么原因吗?
我认为 iOS 在使用 LZ4 压缩时使用它的大小大致相同。
最合理的答案是因为许可证。来自维基百科的 zip 许可证:
.ZIP 文件格式于 1989 年发布到公共领域。
反对 LZMA 许可证(来自维基百科):
从 7-Zip 中提取的 LZMA 实现可作为 LZMA SDK 使用。它最初是根据 GNU LGPL 和 Common Public License [13] 获得双重许可的,但链接二进制文件有一个额外的特殊例外,但在 2008 年 12 月 2 日,Igor Pavlov 将其置于公共领域,并发布了 4.62 版.
我认为最简单的答案是他们不需要。虽然 LZ4 令人印象深刻,但我认为 Android 团队为了保持与旧设备的向后兼容性,选择了保留它。Android 最初在 2005 年使用 Zlib,因为他们正在寻找一种被广泛使用且没有任何专利或许可限制的压缩算法。那是大约六年前,即 2011 年 LZ4 的发布。LZMA 在 1998 年左右已经存在了更长的时间,为什么 Android 不使用这个我们不得不问安迪鲁宾本人。