![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 13 Всего: 59 |
Извиняюсь что долго. Короче, не вышло. Была задумка сделать кэш картинок, где ключ - полный путь к файлу. При вызове события listView1_CleanUpVirtualizedItem, хотел вытаскивать картинку из кэша и убивать ее. Получилось все, кроме последнего. Картинку никак не убить! И ListViewItem тоже. Нет способа досрочно освободить память от них. У меня не получилось. Может кто-то знает способ? Если знает, то какое-то решение найдено. Вообще я не думаю, что здесь что-то надо делать. Думаю предоставить это надо системе. Пусть GC сам занимается этим тогда, когда посчитает нужным его алгоритм. Кстати, вызов GC вручную, не даст особенных результатов, кроме тормозов, так как вызов этого метода не гарантирует ожидаемую очистку памяти сию секунду. То есть он очистить память, но какую именно - не известно. Я пробовал два варианта: GC.Collect(); и GC.Collect(GC.GetGeneration(imageSource)); не дало заметных результатов ни одно. Вывод - не заморачиваться, пусть система сама решает, когда освобождать память. Ведь она освобождается периодически, значит все в порядке. Вот еслиб она непрерывно росла, то это уже катастрофа! Есть еще вариант попробовать использовать слабую ссылку (WeakReference), вроде она что-то гарантирует при сборке мусора, но пока не пробовал. -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |