Telegram Web
Channel photo updated
Зачем этот канал?

В последнее время мне всё больше и больше хочется делиться мыслями, связанными с повседневной рабочей жизнью Android-разработчика.

При этом, далеко не всегда эти мысли вмещаются в одном твите.
В то же время, они не дотягивают до формата полноценной статьи.
Все эти мысли — навсегда теряются в недрах памяти.
Этим каналом я хочу закрыть эту дыру.

Что вам это даст?

Вы точно сможете узнать что-то новое.

Даже если нет — этот канал однозначно будет согревать вашу душу холодными зимними вечерами одним своим названием в вашем списке чатов
Ограничиваем время выполнения Unit-тестов

Несколько раз замечал, что сборки PR-ов на
TeamCity
падают по таймауту самой джобы. (У нас это 1h30m)

Оказалось, в обоих случаях, разработчики коммитили unit-тест, который фактически никогда не завершается.
В большой команде и при ограниченном количестве билд-агентов, это может сказаться на общей производительности инженеров

Решение

Ограничить время выполнения каждого теста.
Круто, что
JUnit5
позволяет сделать это централизованно через
systemProperty
Сколько весит приложение ?

После полного перехода на AppBundle, стало намного сложнее понять финальный размер приложения в Google Play.

Всэ зависит от ABI, плотности экрана (от котороой зависит выбранные ресурсы) и даже локалей, поддерживаемых на устройстве.
Все они представленны в виде отдельных apk, запакованных в bundle, с использованием bundletool под капотом.


Как узнать размер приложения?

bundletool отвечает не только за упаковку, но и за обратную распаковку, которая используется в Google Play.

За пару команд, мы можем раздробить bundle на все apk-шки и узнать вес, в зависимости от ABI, ресурсов или локалей, как показано на картинке.

По статистике, максимальный размер у arm64-v8a с xxxhdpi
Основы Gradle

Как правило, Gradle, это то, что многие предпочитают избегать. (Не считая добавления зависимостей)

Собственные таски/плагины могут сильно помочь автоматизировать рутину, особенно в больших проектах.

Нашёл довольно неплохой плейлист из 17 коротких видео, который поможет вам разобраться с основами
Не одним ViewModel и Jetpack едины

Вчера выложили в open-source фреймворк Kompot, с помощью которого мы ведём разработку во всех продуктах в Revolut.

Unidirectional data flow со строгими контрактами (Input + Output), Screens, Flows, Navigation всё это позволяет забыть даже про fragments с activity, и держать фокус на главном — разработка фичи
2025/06/26 04:45:13
Back to Top
HTML Embed Code: