Я размышляю сам с собой, сжимать ли простой текстовый файл, который я включаю в свое приложение, размером около 1,5 МБ. Я могу сжать его до 400 КБ с помощью zip и разархивировать в приложении, но это еще одна вещь, с которой можно возиться. Если я этого не сделаю, он все равно будет сжат в APK? Есть ли специальное место, где я мог бы это сделать, чтобы это произошло? Меня действительно интересует только размер загрузки.
Если я не сжимаю простой текстовый файл в Android, он все равно будет сжат в APK?
Ответы (1)
Файлы сжимаются в зависимости от их расширения:
/* these formats are already compressed, or don't compress well */
static const char* kNoCompressExt[] = {
".jpg", ".jpeg", ".png", ".gif",
".wav", ".mp2", ".mp3", ".ogg", ".aac",
".mpg", ".mpeg", ".mid", ".midi", ".smf", ".jet",
".rtttl", ".imy", ".xmf", ".mp4", ".m4a",
".m4v", ".3gp", ".3gpp", ".3g2", ".3gpp2",
".amr", ".awb", ".wma", ".wmv"
};
Если это не один из них, он будет сжат при сборке apk.
person
mibollma
schedule
14.07.2011
Я не специалист по С++ и не могу сказать, относится ли это к ресурсам или активам или к обоим?
- person Felix; 14.07.2011
На самом деле это хороший вопрос... я не уверен. Но вы можете попробовать это, используя проекты ant. aapt обычно печатает в командной строке для каждого файла, если он сжимает или пропускает его. Или просто откройте apk-файл с помощью вашего любимого zip-архива и посмотрите. В конце концов, файлы Apk — это просто zip-архивы.
- person mibollma; 14.07.2011
Опубликованный код выглядит так, как будто он применяется только к активам.
- person Micah Hainline; 14.07.2011
Почему? Я почти уверен, что это относится и к
raw
и drawable
.
- person mibollma; 14.07.2011
Другой вопрос: если APK представляет собой ZIP (я знаю, что это так, я открывал их раньше) - зачем вам сжимать файл, который находится внутри него? Разве он уже не сжат?
- person Felix; 15.07.2011
Это то, о чем исходный вопрос, не так ли? Система сборки просто пытается избежать сжатия сжатого материала, поскольку это бессмысленно.
- person mibollma; 15.07.2011