TGViewer
Блог компании mxkmn inc. Блог компании mxkmn inc. @mxkmn_inc · 112 subscribers
Post #142 436
Как я Baseline Profiles прикручивал

Осторожно, #тяжёлыйконтент

Уже 8 лет, начиная с 7-ого андроида, приложения автоматически ускоряются с каждым использованием - система анализирует, с какими фичами обычно работает пользователь, и оптимизирует их.

В какой-то момент ребята из гугла осознали, что все пользуются примерно тем же, и предложила генерировать универсальные профили взаимодействий - Baseline Profiles - которые будут поставляться с установщиком, чтобы оптимизации происходили во время установки, всё было максимально красиво и плавно сразу после скачивания или обновления приложения.

Мысль простая и гениальная. Как думаете, когда же стало возможным генерировать эти самые профили? Внезапно, во времена 13-ого андроида, спустя 6 лет. Ну, то есть можно было и до этого, но с кучей подводных камней - хорошо это работало только на чистом андроиде и с рутом. С тестированием профилей та же история, оно полноценно заработало лишь на 12-ом.

О проблемах я узнал не из документации, а на деле: подключил рутованный смартфон на 10 андроиде, запустил генерацию профиля, и... телефон либо полностью переставал реагировать на нажатия и кнопки, либо просто перезагружался 👍. Мой основной телефон работает на 12-ом ведре, тоже не подходит. Обновлять вполне живой телефон не хочется - он мне нравится так же, как и в первый день.

В общем, пришлось ставить на комп эмулятор с последним чистым андроидом, где всё точно будет без сучка без задоринки. Или нет?

Эмулятор андроида это вам не винда 11 в vmware - тут нагрузки на комп такие, что он начинает работать аки прораб без зарплаты: сборка приложения замедляется примерно в 10 раз, а сам эмулятор настолько неотзывчивый, что генерация профилей ломается по таймауту пока приложение ещё не успело загрузиться 🥴. Это на самом мощном проце интела 10 поколения для ультрабуков и с 16 гб оперативки, если что. 5-ый андроид эмулируется отлично, а вот 14-ый ложит систему. В остальном процессор справляется со всеми задачами и комп менять ради эмулятора я не планирую. К тому же пользоваться эмулятором весьма неприятно - имитировать свайпы тачпадом ужасно неудобно, а сенсорный экран моего Surface'а не поддерживается.

Короче, идём просить у знакомого мобилу на 13+ ведре. Как и всегда при разработке под андроид, в рандомный момент всё ломается, пацаны со stackoverflow говорят, что надо прожать invalidate caches. Как и всегда, это не помогает, я на опыте переустанавливаю ведростудию, всё опять начинает работать, но время потеряно. На следующий день снова беру мобилу, чё то там делаю с UIAutomator практически вслепую, ибо документация неполная... И Baseline Profile готов! Кстати, вместе с ним готов ещё и Startup Profile - благодаря этому профилю ускоряются не отдельные фичи, а непосредственно запуск приложения.
  • 👍 1
  • 🔥 1
  • 💩 1
More from @mxkmn_inc
  1. Jan 4, 2026Гринд: • Нашёл новую работу: нахожусь в core-команде с толковыми чуваками, пишем на Compos…
  2. Jan 4, 2026Мне нравятся итоги года тем, что ими можно объединить кучу небольших мыслей в один пост, г…
  3. Dec 28, 2025Привет всем, кто ещё не отписался)0) Много изменений в жизни, и времени на посты, увы, нет…
  4. Dec 28, 2025В конце предыдущего года появилось желание создать сообщество для кодеров, в котором бы бы…
  5. Apr 10, 2025Upd.: много чего было пофикшено с обновлениями, пост обновлён Surface Pro: теперь не преми…
  6. Mar 26, 202525 лет назад существовала мобильная операционка, которая захватила 80% рынка карманных ком…
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 →