TGViewer
Алексей Козорезов | Архитектура unity проектов Алексей Козорезов | Архитектура unity проектов @uniarchitect · 5.15K subscribers
Post #31 2.19K
С ПОЛЕЙ РАЗРАБОТКИ:
ОПТИМИЗАЦИИ ЗАГРУЗКИ

В этой рубрике я пишу про то, с чем столкнулся вот только что и сразу решил об этом написать пост.

Вводные:
1️⃣ Карта с 5 уровнями. Группа из 5 уровней называется остров.
1ый остров - тутор
ГК - глобальная карта на которой находятся все острова
2️⃣ Игрок прошел последнюю карту 1го острова (т.е. тутор), нажимает кнопку открытия ГК (это scrollRect горизонтальный с 10+ элементами) и получает ANR.
3️⃣ В логах перекати поле. Нет ничего. Ни одной ошибки ни одного warning'a.

ANR коротко — главный поток висит >5 секунд?
— Android ядро грохает приложение.

Причина:
— Instantiate большого кол-ва объектов в одном кадре
— Canvas.ForceUpdateCanvases(); занимает >1000ms на компе. На девайсе замерить не удалось, угадайте почему 🤷‍♂️

Решение:
— Если в одном кадре много Instantiate - делаем из метода корутину и проставляем delay (или return null) после каждого выполнения тяжелой логики
— Перед добавлением элементов включаем сам объект в иерархии, на котором будут создаваться объекты

Это позволит не в один кадр обновить все добавленные на канвас элементы (а это куча примерно в 1000 объектов), а в несколько.

p.s. обожаю фиксы в одну строку (см. последний скрин, это весь фикс)

Насколько вообще заходит такой формат, черканите коммент 😊

#будни@UniArchitect
  • 👍 11
  • 🆒 8
  • 🤷‍♂ 1
More from @uniarchitect
  1. Sep 27, 2026Post #202
  2. Jul 24, 2026Post #199
  3. Jul 12, 2026AI НЕ ДЕЛАЕТ ВАС ПРОДУКТИВНЕЕ Незыблемый факт: AI уже очень хорош в маленьких задачах. Нап…
  4. Jul 9, 2026Post #196
  5. Jul 7, 2026UNITY BUILD PIPELINE ПО КИРПИЧИКАМ Полгода назад я решил попробовать активность в блоге, г…
  6. Jul 4, 2026ПРОКЛЯТИЕ ПЕРЕИСПОЛЬЗУЕМОСТИ Делюсь болью. Я последние 5 лет на разных уровнях у разработч…
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 →