Если я не сжимаю простой текстовый файл в Android, он все равно будет сжат в APK?

Я размышляю сам с собой, сжимать ли простой текстовый файл, который я включаю в свое приложение, размером около 1,5 МБ. Я могу сжать его до 400 КБ с помощью zip и разархивировать в приложении, но это еще одна вещь, с которой можно возиться. Если я этого не сделаю, он все равно будет сжат в APK? Есть ли специальное место, где я мог бы это сделать, чтобы это произошло? Меня действительно интересует только размер загрузки.


person Micah Hainline    schedule 14.07.2011    source источник


Ответы (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
comment
Я не специалист по С++ и не могу сказать, относится ли это к ресурсам или активам или к обоим? - person Felix; 14.07.2011
comment
На самом деле это хороший вопрос... я не уверен. Но вы можете попробовать это, используя проекты ant. aapt обычно печатает в командной строке для каждого файла, если он сжимает или пропускает его. Или просто откройте apk-файл с помощью вашего любимого zip-архива и посмотрите. В конце концов, файлы Apk — это просто zip-архивы. - person mibollma; 14.07.2011
comment
Опубликованный код выглядит так, как будто он применяется только к активам. - person Micah Hainline; 14.07.2011
comment
Почему? Я почти уверен, что это относится и к raw и drawable. - person mibollma; 14.07.2011
comment
Другой вопрос: если APK представляет собой ZIP (я знаю, что это так, я открывал их раньше) - зачем вам сжимать файл, который находится внутри него? Разве он уже не сжат? - person Felix; 15.07.2011
comment
Это то, о чем исходный вопрос, не так ли? Система сборки просто пытается избежать сжатия сжатого материала, поскольку это бессмысленно. - person mibollma; 15.07.2011