«Пустое» (не выполняющее никаких функций) простейшее приложение-окно для «зеленого робота», созданное в Android Studio (интегрированной среде разработки), весит 1,5 МБ. Разработчику по имени Джейми Лэнч (Jamie Lynch) удалось уменьшить файл APK (установочный файл для Android) этой программы до рекордно маленького размера — 1 757 байт. В своем блоге программист наглядно показал, как ему удалось это сделать с помощью определенных манипуляций.
Первое, что сделал Лэнч в ходе эксперимента, — выявил наиболее «тяжелые» компоненты файла APK:
- classes.dex (содержит весь скомпилированный код в формате DEX, а также ссылки на различные библиотеки в Android) — 74%.
- res (содержит графические компоненты приложения) — 20%.
- resources.arsc (содержит ссылки на каждый из компонентов файла в res) — 4%.
- META-INF (содержит инструменты, проверяющие «целостность» APK-файла) — 2%.
- AndroidManifest (содержит информацию о приложении, требуемую операционной системе) — меньше 1%.
Проанализировав установочный файл, разработчик приступил к оптимизации исходного кода. Первым делом Джейми Лэнч удалил из APK неиспользуемые библиотеки и ссылки на них, которые Android Studio автоматически добавляет при создании файла. Это действие позволило уменьшить размер APK на 50%. Далее программист оптимизировал «громоздкие» изображения в формате PNG, хранящиеся в папке res. Благодаря этому, установочный файл уменьшился с 786 до 108 КБ. Все последующие действия разработчик выполнял с меньшими по размеру файлами — resources.arsc, META-INF и AndroidManifest.
В конечном итоге у Джейми Лэнч вышел рекордно «легкий» установочный файл весом всего в 1 757 байт (против исходного на 1,5 МБ). Всю инструкцию «оптимизации» APK с подробными комментариями программист опубликовал в своем блоге.
Ну… 1 гб = 1024Мб
1024 -100 Мб = 924Мб.
А 1Гб до 100Мб сжать не получится. Хотя если например замутить сжиматор с базой данных до 1Тб, то можно размахнуться и из 1Гб сделать 1Мб.