TGViewer
Мобильный трудоголик Мобильный трудоголик @hardworkerit · 1.65K subscribers
Post #390 1.18K
🔢 iOS 26: SwiftUI наконец-то стал таким же быстрым как UIKit?

Нашел интересную статью, в которой автор провел сравнение производительности SwiftUI и UIKit в iOS 26. На WWDC25 компания Apple уверяла, что с производительностью в SwiftUI стало в разы лучше. Но так ли это на практике? Чтобы проверить, он создал максимально сложную ленту и сравнил, как с ней справляются оба UI-фреймворка.


Что тестировали:

Лента содержала следующие элементы:

🔵Изображения высокого разрешения.

🔵Сложную иерархию элементов, текстов и градиентов.

🔵Постоянно анимирующиеся гифки.

🔵Ячейки переменной высоты.

🔵Жесты, которые в реальном времени обновляют состояние.

Все это заставляло экран работать на 120 кадрах в секунду, давая на каждый кадр всего 8 миллисекунд.


Результаты тестов:

🔵Память. SwiftUI использовал около 250 МБ памяти, в то время как UIKit - примерно 90 МБ. Разница почти в три раза.

🔵Hitches (пропущенные кадры). У SwiftUI было около 3,4 хитча в секунду, у UIKit - 0,7. В пять раз меньше.

🔵CPU и батарея. В состоянии покоя SwiftUI загружал процессор на 100%, постоянно. UIKit - опускался до 11%. Энергопотребление у SwiftUI было очень высоким, у UIKit - просто высоким. Термальный профиль SwiftUI быстро полз вверх, и в какой-то момент приложение просто было убито системой из-за перегрева.


💡 Вывод:

Даже в iOS 26 SwiftUI значительно уступает UIKit в производительности при работе со сложными, тяжелыми интерфейсами. В простых лентах разница может быть незаметна, но как только появляются анимации, гифки, сложная верстка и жесты - SwiftUI начинает проседать.

Интересно, что SwiftUI List внутри использует не обычный UICollectionView, а некую UpdateCoalescingCollectionView, что, видимо, и дает такую разницу. Плюс сама архитектура SwiftUI с пересчетом тела вьюх, диффингом и пересчетом layout добавляет накладные расходы, которых UIKit лишен.

Автор делает невеселый вывод: для сложных сценариев, где важна производительность, UIKit все еще вне конкуренции.


➡️ Подписаться на канал
Мобильный трудоголик
  • ❤ 23
  • 👍 8
  • 🙏 3
  • 🤔 1
  • 👀 1
More from @hardworkerit
  1. Oct 1, 2026🔢 Работа с Picture-in-Picture в iOS. Picture-in-Picture - системная функция iOS, которая…
  2. Sep 29, 2026🔢 Управление тулбарами на iPhone Duo. На iPhone Duo элементы управления навигацией, дейст…
  3. Sep 27, 2026🔢 Новые возможности Hashable в Swift 6.4 В Swift 6.4 добавили Hashable для нескольких тип…
  4. Sep 25, 2026🔢 Приватные свойства больше не ломают memberwise инициализатор в Swift 6.4 Swift автомати…
  5. Sep 24, 2026👨‍💻 Почему разработчики ненавидят своих менеджеров. Всем привет! Сегодня хочу разобрать…
  6. Sep 22, 2026🔢 Релиз Swift 6.4: главные изменения для разработчиков. Swift 6.4 вышел. Это обновление п…
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 →