Connect with us

Разработка

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

Создатель приложения WhatSaga поделился историей разработки и борьбы за качество конечного продукта.

Анна Гуляева

Опубликовано

/

     
     

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

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

  • приложение будет показывать текущие статусы пользователей WhatsApp, которыми можно будет поделиться и которые можно будет сохранить;
  • пользователи смогут постить в WhatsApp видео дольше 30 секунд;
  • пользователи смогут постить аудиостатусы вместе с изображениями.

Функция “статуса” в 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 МБ тяжелее, какое вы выберете?

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

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

Комментарии
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement
Click to comment

You must be logged in to post a comment Login

Leave a Reply

Новости

Интересные материалы: 20.09

Наш дайджест полон разочарования, конечных автоматов и программистского дзена.

AppTractor

Опубликовано

/

Автор:

Весь день мы собираем лучшие материалы о разработке и маркетинге технологий, стартапов, мобильных приложений и игр для iOS и Android из самых разных источников:

Комментарии
Продолжить чтение

Кроссплатформенная разработка

Google выпустил последнюю превью-версию Flutter

На Google Developer Days China была объявлена финальная девелоперская версия Flutter.

AppTractor

Опубликовано

/

Автор:

Судя по всему, Flutter Release Preview 2  – последняя версия перед выпуском стабильной версии Flutter 1.0, которая должна выйти в этом году.

Это уже шестая итерация почти за полтора года – первый анонс Flutter состоялся на Google I/O в мае 2017 года, а первая бета вышла в феврале.

В Flutter Release Preview 2 – поддержка фонового выполнения задач, уменьшение размера приложений до 30%, «pixel-perfect» приложения для iOS и расширенная поддержка этой системы.

Как говорит Google, на Flutter уже есть приложения Alibaba (Android, iOS), Tencent Now (Android, iOS) и Google Ads (Android, iOS).

 

 

Комментарии
Продолжить чтение

Новости

Интересные материалы: 19.09

У нас сегодня инструменты, уроки, курсы и исследования.

AppTractor

Опубликовано

/

Автор:

Весь день мы собираем лучшие материалы о разработке и маркетинге технологий, стартапов, мобильных приложений и игр для iOS и Android из самых разных источников:

Комментарии
Продолжить чтение

Исследования

Новый отчет Developer Economics «Состояние нации разработчиков»

Компания SlashData опубликовала новый отчет из серии Developer Economics «Состояние нации разработчиков» за второй квартал 2018 года.

AppTractor

Опубликовано

/

Автор:

Это обобщенные данные опроса, который проходил весной, и на который ответило более 20,000 человек.

Ключевые выводы:

  • Data science и машинное обучение станут наиболее востребованными навыками в следующем году – 45% разработчиков хотят получить опыт в этих областях.
  • 33% разработчиков хотят изучать UI-дизайн, 25% – облачную разработку. Интерес к изучению других языков программирования меньше. Похоже, что разработчики хотят дополнять свои навыки, а не улучшать.
  • DevOps все более распространен – каждый восьмой в опросе работал над проектами из этой сферы.
  • У 40% есть интерес к роботам, но только 9% разработчиков работает над реальными проектами.
  • JavaScript остается самым популярным языком программирования:

  • Разработчики игр стали зарабатывать больше. Если в первой половине 2017 года только 29% опрошенных получали более 100 долларов в месяц от своих игр, то сейчас таких 48%.
  • Игровая разработка смещается в веб – в 2017 году 38% разработчиков игр работали для веба, а сейчас их 43%, в то время как доля смартфонов, планшетов и десктопов снизилась.

Весь отчет вы можете скачать по ссылке: http://sdata.me/DE2Q18DD.

Комментарии
Продолжить чтение

Реклама

Наша рассылка

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Вакансии

Популярное

X
X

Спасибо!

Теперь редакторы в курсе.