Site icon AppTractor

Как мы сократили размер приложения с 31 МБ до 2 МБ

Четыре недели назад я опубликовал первое приложение в Google Play. Немного бэкграунда: меня зовут Иршад, я учусь на последнем курсе колледжа по направлению информатики и уже несколько лет занимаюсь программированием и разработкой. История началась около пяти месяцев назад: однажды второкурсник Атул Наир сказал мне, что хочет поучиться разработке приложений на Android.

Лучший способ узнать что-то — делать это непосредственно. Я посоветовал ему создать простое приложение и предложил несколько идей:

Функция “статуса” в WhatsApp в то время была довольно новой, поэтому эти идеи казались мне вполне интересными.

И он начал создавать это приложение. Вот эскиз, который я набросал в тот день.

Что дальше?

Мы разделили задачи на три группы:

  1. Текущие статусы
  2. Видеостатусы
  3. Аудиостатусы

Благодаря первоначальному энтузиазму я смог создать первую функцию за 2–3 дня, так как это было довольно простой и знакомой задачей.

Затем я начал помогать Атулу в создании видеостатусов. У меня было несколько других проектов, поэтому в основном я только искал библиотеки для работы с видео, пока он писал сам код. Вскоре функция была закончена, но была одна проблема.

Да, Атул быстро учился, и он отправил мне APK через неделю, но размер файла был 31 МБ и я не мог этого понять. Мы решили использовать популярную библиотеку ffmpeg для обработки видео, хотя проще всего было использовать Ffmpeg-Android от WritingMinds. Встроенные библиотеки весили больше 27 МБ, что вносило самый большой вклад в размер APK. Я сказал, что мы должны сделать размер файла как можно меньше.

После нескольких недель он вернулся и размер APK составлял уже 18 МБ, а приложение работало, как и раньше. Атул последовал этому совету и включил только версию armv7, что сократило размер приложения в два раза. Но этого было недостаточно: люди не будут скачивать приложение, которое занимает больше 5 МБ. Я был упрям. Я показал ему несколько видеоредакторов в Google Play, которые занимали менее 5 МБ и спросил, почему мы не можем сделать так же.

В итоге, после ещё нескольких попыток Атул пришел с хорошей новостью. Он сократил размер APK до 2.6 МБ. Он был таким же упрямым и нашел нужное решение. Он использовал нативный компилированный C++ файл .so с минимальными функциями ffmpeg, который включал и нужную нам функцию. Файл занимал 4 МБ, но после сжатия стал весить всего 2 МБ. Вот анализ APK-файла версии 1.2:

Да, теперь он занимает 2.9 МБ после обновления с поддержкой WhatsApp for Business

Кроме того мы использовали такие функции, как proguard minify и drawable optimization, чтобы другие ресурсы не занимали много места. Все пошло быстрее, мы создали функцию аудиостатусов, а потом выпустили наше приложение в Google Play в течение нескольких дней!

Мы назвали приложение WhatSaga, и вы можете посмотреть его здесь.

Представьте, если бы я сдался быстрее. Мы бы сделали решение в 10–15 МБ или даже больше, и это не идет ни в какое сравнение с 2.6 МБ. Действительно ли размер приложения так важен в современных смартфонах с гигабайтами памяти и трафика? Ответ: да. Если у вас будет два приложения с похожим интерфейсом и функциями, но одно из них будет на 3–4 МБ тяжелее, какое вы выберете?

Почему размер приложения все еще влияет на количество пользователей

Так что будьте настойчивы в качестве всего,что вы делаете. Дизайн, время загрузки или внешний вид — не успокаивайтесь, пока продукт не будет обладать тем качеством, которое вы хотите видеть.

Exit mobile version