2017-09-22 7 views
0

J'ai fait quelques tests sur notre jeu Unity et il semble que nous pourrions compresser le jeu à la moitié de sa taille si l'APK était compressé avec LZ4 au lieu de Zlib.Pourquoi Android ne compresse-t-il pas ses fichiers APK avec LZ4/LZMA?

Y at-il une raison pour laquelle Android n'utilise pas LZ4?

Je pense que iOS l'utilise à peu près la même taille lorsqu'il est compressé en utilisant LZ4.

Répondre

1

Je pense que la réponse la plus simple est qu'ils n'en ont pas besoin. Alors que LZ4 est assez impressionnant, je pense que l'équipe Android afin de maintenir la compatibilité descendante avec les appareils plus anciens a choisi de le laisser être. Android est allé à l'origine avec Zlib en 2005, car ils cherchaient un algo de compression qui était largement utilisé et n'avait aucune restriction de brevet ou de licence sur eux. C'était environ six ans avant, à la sortie de LZ4 en 2011. LZMA a été autour plus longtemps autour de 1998, a pourquoi Android n'a pas utilisé que nous devrons demander à Andy Rubin lui-même.

+0

Un autre point est qu'un fichier APK est juste le format Java JAR avec un suffixe différent qui à son tour est le format de fichier Zip. Alors que des algorithmes de compression supplémentaires ont été ajoutés au format Zip, je ne suis pas sûr que les outils JAR au moment de la version originale d'Android auraient fonctionné correctement si le fichier n'était pas compressé avec Zlib standard. –

2

La réponse la plus raisonnable est parce que la licence. licence zip à partir wikipedia:

Le format de fichier .ZIP a été libéré dans le domaine public en 1989.

contre licence LZMA (de wikipedia):

La mise en œuvre LZMA extrait de 7-Zip est disponible en tant que SDK LZMA. A l'origine, il était sous licence GNU LGPL et Common Public License, [13] avec une exception spéciale supplémentaire pour les binaires liés, mais a été placé par Igor Pavlov dans le domaine public sur le 2 décembre 2008, avec le sortie de la version 4.62.

+0

Est-ce que iOS n'utilise pas LZMA/LZ4 tho? – mikeysee