Разработка
Как мы сократили размер приложения с 31 МБ до 2 МБ
Создатель приложения WhatSaga поделился историей разработки и борьбы за качество конечного продукта.
Четыре недели назад я опубликовал первое приложение в Google Play. Немного бэкграунда: меня зовут Иршад, я учусь на последнем курсе колледжа по направлению информатики и уже несколько лет занимаюсь программированием и разработкой. История началась около пяти месяцев назад: однажды второкурсник Атул Наир сказал мне, что хочет поучиться разработке приложений на Android.
Лучший способ узнать что-то — делать это непосредственно. Я посоветовал ему создать простое приложение и предложил несколько идей:
- приложение будет показывать текущие статусы пользователей WhatsApp, которыми можно будет поделиться и которые можно будет сохранить;
- пользователи смогут постить в WhatsApp видео дольше 30 секунд;
- пользователи смогут постить аудиостатусы вместе с изображениями.
Функция “статуса” в WhatsApp в то время была довольно новой, поэтому эти идеи казались мне вполне интересными.
И он начал создавать это приложение. Вот эскиз, который я набросал в тот день.
Что дальше?
Мы разделили задачи на три группы:
- Текущие статусы
- Видеостатусы
- Аудиостатусы
Благодаря первоначальному энтузиазму я смог создать первую функцию за 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:
Кроме того мы использовали такие функции, как proguard minify и drawable optimization, чтобы другие ресурсы не занимали много места. Все пошло быстрее, мы создали функцию аудиостатусов, а потом выпустили наше приложение в Google Play в течение нескольких дней!
Мы назвали приложение WhatSaga, и вы можете посмотреть его здесь.
Представьте, если бы я сдался быстрее. Мы бы сделали решение в 10–15 МБ или даже больше, и это не идет ни в какое сравнение с 2.6 МБ. Действительно ли размер приложения так важен в современных смартфонах с гигабайтами памяти и трафика? Ответ: да. Если у вас будет два приложения с похожим интерфейсом и функциями, но одно из них будет на 3–4 МБ тяжелее, какое вы выберете?
Почему размер приложения все еще влияет на количество пользователей
Так что будьте настойчивы в качестве всего,что вы делаете. Дизайн, время загрузки или внешний вид — не успокаивайтесь, пока продукт не будет обладать тем качеством, которое вы хотите видеть.
-
Видео и подкасты для разработчиков1 месяц назад
Lua – идеальный встраиваемый язык
-
Новости1 месяц назад
Poolside, занимающийся ИИ-программированием, привлек $500 млн
-
Новости1 месяц назад
Видео и подкасты о мобильной разработке 2024.40
-
Новости1 месяц назад
Видео и подкасты о мобильной разработке 2024.41