MonoTouch родное управление ресурсами
Пример:
var image = UIImage.FromFile("/path/to/image.png");
var imageView = new UIImageView();
imageView.Image = image;
image.Dispose();
Будет ли исходная ссылка из UIImageView поддерживать исходное исходное изображение живым или этот сбой рано или поздно произойдет, потому что собственное изображение на самом деле мертво?
Обновить:
void Foo()
{
var image = UIImage.FromFile("/path/to/image.png");
this.imageView = new UIImageView();
this.imageView.Image = image;
}
Будет ли это утечка основного нативного изображения?
1 ответ
Решение
- Нативный UIImageView будет сохранять ссылку на изображение, поэтому он не будет аварийно завершать работу.
- Нет, он не пропустит базовый нативный образ. Но это может закончиться намного позже, чем вы ожидаете. Мы рекомендуем вам вызывать Dispose, как только вы закончите с изображениями, так как они, как правило, используют много памяти, о которой сборщик мусора не знает.