TGViewer
Ozon Tech Ozon Tech @ozon_tech · 29.9K subscribers
Post #2295 3.82K
Инициализация компонентов может занимать более половины времени запуска больших Android-приложений. Поэтому нашей задачей для ускорения старта стала асинхронная инициализация: нам было необходимо вынести код на множество потоков параллельно, избегая их блокировки и при этом сохраняя правильную последовательность инициализации.

Привет, это Дмитрий Глаголев, руководитель группы разработки мобильных приложений «Статусы пользователя и Выплаты» приложения Ozon Job. Чтобы решить задачу асинхронной инициализации мы начали с async\\await, ускорились на 30%, но не учли сложный каскад зависимостей. Кратно вырос crash rate при раскатке. А главным минусом стала невозможность масштабирования.

Тогда мы решили написать свой собственный инструмент. Разрешите представить: ✨async-initializers✨

Он состоит из двух частей: runtime-библиотеки AsyncInitializer и Gradle-плагина AsyncInitializers Injector. Библиотека помогает безопасно управлять инициализацией, а Gradle-плагин встраивает необходимые вызовы в код библиотек при сборке. За счёт этого мы сократили количество ручных действий, убрали необходимость управлять последовательностью для всех зависимостей при подготовке компонентов и в два раза ускорили запуск Android-приложения Ozon Job для 75% пользователей.

Подробнее о процессе создания async-initializers — в моём докладе на E-CODE.

➡️ async-initializers на GitHub

❗️Благодарность автору async-initializers — ведущему разработчику Ивану Кураку — можно оставить звёздочками на Github✨

#ozontech_opensource #android
  • ⚡ 10
  • 👏 4
  • 🙏 4
  • 👍 3
  • 🤔 1
More from @ozon_tech
  1. Oct 9, 2026👣 Исследуем города c Ozon Tech: сегодня гуляем в Минске Ищем фотогеничные дворики и рассм…
  2. Oct 7, 2026Если задача не принята, значит, она ещё не передана. Нашли для себя простой способ сделать…
  3. Oct 6, 2026Post #2293
  4. Oct 5, 2026Спросили у СТО и получили одно из самых просматриваемых выступлений на E-CODE✨ Присоединяй…
  5. Oct 2, 2026Post #2291
  6. Oct 1, 2026Общий бэклог и регулярные дейлики не делают людей командой. Как и зелёные тесты. И даже по…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →