A2IGA стал слишком громоздким. Почему?
Итак, привет! Меня зовут Асхаб Кудзаев (rx1310) и я являюсь начинающим разработчиком Android-приложений. Программированием я занимаюсь давно, но только как хобби. Речь по сути сейчас не обо мне, а о моем проекте A2IGA, который слишком много занимает дискового пространства на Вашем устройстве.
Приложение A2IGA разработано мною где-то в 2020-м году и A2IGA выполняет одну очень простую по сути задачу - запуск приложения. Но не просто взять и запустить приложение так, как мы делаем это ежедневно из меню приложения. Весь механизм работы A2IGA заключается в нескольких этапах:
- Установка A2IGA в качестве ассистента в системе:
- Выбор приложения для запуска:
И в принципе всё. С полным гайдом по установке A2IGA можно ознакомиться тут.
Так вроде всё хорошо. Приложение выполняет свою работу исправно, есть какие-то настройки даже, но вот есть одна неприятность - приложение занимает слишком много памяти.
Программа, выполняющая лишь функцию запуска определенного приложения при вызове ассистента, не должна занимать столь большое пространство в памяти. Функционал приложения не оправдывает эти мегабайты.
А всё дело в библиотеке AppCompat, которая используется в A2IGA для UI.
"Получая более-менее красивый внешний вид, я теряю в оптимизации и жру непростительное кол-во ресурсов смартфона пользователя." - такой вывод я сделал после прочтения одной статьи на Хабре, в которой автор статьи обрушился на все современное ПО за прожорство.
В некоторых моментах я с ним согласен, но также и не согласен. Не понятно? Объясню.
Автор статьи критикует клавиатуру Google за то, что та занимала ~150Мб и я его не понимаю,
"Приложение клавиатуры Google как ни в чём не бывало съедает 150 МБ. Эта программа рисует 30 клавиш на экране — она правда в пять раз сложнее, чем вся Windows 95?" - m1rko.
... но важно понимать, что Google Клавиатура не просто 30 клавиш, а нечто более обширное. Стикеры, эмодзи, темы, распознование речи, предугадывание текста и многое другое. Чего только стоит весит локализация приложения Android, когда в папке res/ может находиться 100500 папок с локализациями values-**/.
Вернемся к A2IGA...
Итак, A2IGA. Изначально A2IGA был написан без использования всяких библиотек, он был абсолютно чист. Интерфейс был довольно неплох и интуитивно понятен, но черт меня дернул переписать всё на Material Design, но только сейчас понял, что оно того не стоило.
Да, мы хотим красивые приложения с красивыми анимациями, красивыми иконками, красивыми кнопками и "то-сё". Это касается тех приложений, которые мы используем ежедневно и постоянно, но зачем приложению, которое открывается лишь однажды при настройке и после благополучно забывается, красивости?
Да, у всех нас сейчас смартфоны мощнее многих суперкомпьютеров 90-х, памяти хватает и даже с остатком, но к чему движутся разработчики?
Устраивая конкурс красоты приложений, которые несут малозначимую роль в жизни пользователя, мы жертвуем ресурсами смартфона этого же пользователя.
Казалось бы, 6 мегабайт даже никак не ощущаются, но тем не менее: A2IGA не окупает эти лишние мегабайты, что он сожрал во имя красоты.
Поэтому я устрою опрос в канале Telegram и группе VK, где прошу проголосовать за или против переписи A2IGA без использования каких-либо библиотек, что в свою очередь повлияет в лучшую сторону на быстродействие и легковесность приложения. Я снова хочу вернуться к отметке 2-2.5Мб веса приложения.
Напишите в комментариях что вы об этом думаете.