![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/fe2/5db/f38/fe25dbf3835a2dfab9342bc19b00edaf.png)
Всем привет! Меня зовут Фарид, я занимаюсь iOS-разработкой в компании Банки.ру.
Рано или поздно каждый проект сталкивается с проблемой утечек памяти: растёт её использование, в отдельных сценариях приложение ведёт себя странно или вовсе аварийно завершается. Начинается долгий и мучительный поиск причин утечки и отладка кода.
В нашем проекте ставка сделана на использование SwiftUI, что затрудняет решение задачи: из-за декларативности подхода и отсутствия явно выраженного жизненного цикла в UI, обнаружить причину утечки памяти сложнее.
В этой статье мы:
1) пройдёмся по основным подходам к поиску утечек;
2) попробуем найти способ сделать его обнаружение утечек менее болезненным;
3) выясним, можно ли каким-то образом застраховаться от утечек в будущем развитии проекта.