test adv
,

Разработчик создал самый маленький файл APK весом в 1 757 байт

Благодаря различным манипуляциям с компонентами файла APK Джейми Лэнчу удалось создать рекордно «легкий» установочный файл

«Пустое» (не выполняющее никаких функций) простейшее приложение-окно для «зеленого робота», созданное в Android Studio (интегрированной среде разработки), весит 1,5 МБ. Разработчику по имени Джейми Лэнч (Jamie Lynch) удалось уменьшить файл APK (установочный файл для Android) этой программы до рекордно маленького размера — 1 757 байт. В своем блоге программист наглядно показал, как ему удалось это сделать с помощью определенных манипуляций.

Первое, что сделал Лэнч в ходе эксперимента, — выявил наиболее «тяжелые» компоненты файла APK:

  1. classes.dex (содержит весь скомпилированный код в формате DEX, а также ссылки на различные библиотеки в Android) — 74%.
  2. res (содержит графические компоненты приложения) — 20%.
  3. resources.arsc (содержит ссылки на каждый из компонентов файла в res) — 4%.
  4. META-INF (содержит инструменты, проверяющие «целостность» APK-файла) — 2%.
  5. AndroidManifest (содержит информацию о приложении, требуемую операционной системе) — меньше 1%.

Проанализировав установочный файл, разработчик приступил к оптимизации исходного кода. Первым делом Джейми Лэнч удалил из APK неиспользуемые библиотеки и ссылки на них, которые Android Studio автоматически добавляет при создании файла. Это действие позволило уменьшить размер APK на 50%. Далее программист оптимизировал «громоздкие» изображения в формате PNG, хранящиеся в папке res. Благодаря этому, установочный файл уменьшился с 786 до 108 КБ. Все последующие действия разработчик выполнял с меньшими по размеру файлами — resources.arsc, META-INF и AndroidManifest.

В конечном итоге у Джейми Лэнч вышел рекордно «легкий» установочный файл весом всего в 1 757 байт (против исходного на 1,5 МБ). Всю инструкцию «оптимизации» APK с подробными комментариями программист опубликовал в своем блоге.


Последнее изменение:
 
Monstercat
Monstercat, 12 октября 2017, 18:21   #   (...)
Вот если бы он сжал 1 гб на 100 мб, может бы я удивился, а так незнаю…
Ответить
FaXiR
FaXiR, 12 октября 2017, 19:09   #   (...)
1 Гб сжать на 100Мб?
Ну… 1 гб = 1024Мб
1024 -100 Мб = 924Мб.

А 1Гб до 100Мб сжать не получится. Хотя если например замутить сжиматор с базой данных до 1Тб, то можно размахнуться и из 1Гб сделать 1Мб.
Ответить
Monstercat
Monstercat, 12 октября 2017, 19:14   #   (...)
Годно ))
Ответить
DedFez
DedFez, 12 октября 2017, 20:36   #   (...)
ну почему же, оптимизация. это когда у тебя приложение весит гиг и имеет допустим картинки и видео под каждое разрешение экрана, оптимизируя под конкретное устройство и ты удаляешь тонну того что ненужно и существенно уменьшаешь размер.
Ответить
DEN_GAMER
DEN_GAMER, 12 октября 2017, 21:12   #   (...)
Например можно в gta sa удалить текстуры для других видеоускорителей и освободить 300 МБ памяти
Ответить
FaXiR
FaXiR, 13 октября 2017, 07:27   #   (...)
В наше время, оптимизацию текстур под конкретное устройство, делают владельцы этих устройств)))
Ответить
ars_klas
ars_klas, 12 октября 2017, 22:00   #   (...)
Cжиматор, лол
Ответить
ars_klas
ars_klas, 12 октября 2017, 22:01   #   (...)
Берёшь образ диска на 1 гб и сжимаешь, получится пару мб
Ответить
loolz
loolz, 13 октября 2017, 05:24   #   (...)
Видео можно очень хорошо компрессовать. Есть архив Тестовый диск — с тестами изобажения для ТВ в контейнере mp4. Распакованные они весят 1,55 ГБ, а в архиве 7z SFX с расширением *.exe сжаты до 21,7 МБ
Ответить
REG_horse
REG_horse, 12 октября 2017, 18:40   #   (...)
Хотелось бы видеть повальный тренд на сжатие apk файлов, примерно такой же когда сняли ограничение в 50мб в Google play.
Ответить
saska31
saska31, 12 октября 2017, 18:52   #   (...)
Я знаю джаву на столько что могу только и создать пустой апк установщик))
Ответить
flopberry
flopberry, 12 октября 2017, 19:46   #   (...)
Он не установится тебе на телефон.
Ответить
Zdorowij
Zdorowij, 12 октября 2017, 19:13   #   (...)
1700 байт=1,5 кбайта, разве нет?
Ответить
saibaken
saibaken, 12 октября 2017, 20:10   #   (...)
1700 байт =1.66015625 КБайт, ну или ~1.7
Ответить
id197067879
id197067879, 12 октября 2017, 20:31   #   (...)
Там люди ещё немного поработали над apk (в оригинальной записи есть ссылка на проект на github). Теперь он весит 820 байт.
Ответить
bIgGuN
bIgGuN, 14 октября 2017, 00:27   #   (...)
678 уже
Ответить
maxcubeecrafter
maxcubeecrafter, 12 октября 2017, 20:46   #   (...)
По-моему, фамилия «Lynch» транслитерируется как «Линч», а не «Лэнч». Никто же не видел фильмов от Дэвида Лэнча.
Ответить
dneese
dneese, 12 октября 2017, 22:33   #   (...)
APK он сжал а блог про это расписал аж на 3 МБ
Ответить
ajsenzaharov
ajsenzaharov, 13 октября 2017, 04:00   #   (...)
Вахах, есть и полноценные игры с 0.20 мбайт
Ответить
id292364208
id292364208, 13 октября 2017, 10:23   #   (...)
Tetris 2017
Ответить
MaksimMarkous
MaksimMarkous, 13 октября 2017, 14:05   #   (...)
А где его скачать?
Ответить
saska31
saska31, 13 октября 2017, 15:41   #   (...)
Зачем?
Ответить
MaksimMarkous
MaksimMarkous, 13 октября 2017, 23:04   #   (...)
Чтобы иметь брата по разуму
Ответить
NickMeller
NickMeller, 13 октября 2017, 23:57   #   (...)
Создал пустой текстовый документ в блокноте с расширением *.apk. Напишите про меня новость?
Ответить
ltybcj
ltybcj, 16 октября 2017, 20:30   #   (...)
Статья о статье?
Ответить

Добавить комментарий
Если нужно ответить кому-то конкретно,
лучше нажать на «Ответить» под его комментарием