добрый день формучане! тема заезженная, параллельных много, однако решения проблемы найти не удается.
имеется здоровенный проект отображающий дэшборды с данными. между дэшбордами можно переключаться (старый уничтожается, новый грузится по параметрам, тянущимся из бд). данная манипуляция приводит к утечке памяти.
что я делаю:
1. для всех возможных слушателей установил викреференсы.
2. уничтожаю все слушатели по мере уничтожения родителя
3. реализовал для всех потенциальных классов интерфейс IDisposable: чистит объекты, при уничтожении родителя
4. использовал вик референс для вьюх и контроллеров (спасибо
http://dtf.ru/articles/read.php?id=51967)
5. прошерстил статичные классы, ссылок на потенциальные объекты нет.
6. профайлил приложение: память забивается! потенциальный объект: DashBoardView. держат его какие то функции, как их найти я не понимаю. (к слову, GC отрабатывает, но объекты не выгружает)
вопросы:
1. какие еще существуют стандартные средства борьбы с утечками
2. могут ли Embed картинки удерживать объект?
3. как узнать, какие же точно функции держат мой объект и не отдают во врата GC на съедение? в аттаче скриншот профайлера и дэшборда с функциями.
p.s. не исключено что я где то не удалил слушатель или ссылку. но проект слишком большой, чтобы перелопачивать его построчно.
заранее спасибо!