我一直在對Unity遊戲進行一些測試,看起來我們可以將遊戲壓縮到一半,如果APK是用LZ4而不是Zlib壓縮的。爲什麼Android沒有使用LZ4/LZMA壓縮它的APK?
Android有沒有使用LZ4的原因?
我認爲iOS在使用LZ4進行壓縮時使用它大致相同的大小。
我一直在對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工具是否能夠正常工作。 –