为什么Android没有使用LZ4/LZMA压缩它的APK?
问题描述:
我一直在对Unity游戏进行一些测试,看起来我们可以将游戏压缩到一半,如果APK是用LZ4而不是Zlib压缩的。为什么Android没有使用LZ4/LZMA压缩它的APK?
Android有没有使用LZ4的原因?
我认为iOS在使用LZ4进行压缩时使用它大致相同的大小。
答
我认为最简单的答案是他们并不需要。虽然LZ4令人印象深刻,但我认为Android团队为了保持与旧设备的向后兼容性而选择了离开它。 Android最初于2005年开始使用Zlib,因为他们正在寻找一种广泛使用的压缩算法,并且没有任何专利或许可限制。那大概是在六年之前,到了2011年LZ4的发布.LZMA在1998年左右已经出现了很长的时间,为什么Android没有使用这个,我们不得不问Andy Rubin自己。
另一点是,APK只是Java JAR格式的不同后缀,而后缀又是Zip文件格式。尽管Zip格式中增加了额外的压缩算法,但我不确定在Android的原始版本时,如果文件没有用标准Zlib压缩,JAR工具是否能够正常工作。 –