2

例子:

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;
}

这会泄露底层的原生镜像吗?

4

1 回答 1

3
  1. 本机 UIImageView 将保留对图像的引用,因此它不会崩溃。
  2. 不,它不会泄露底层的原生镜像。但它最终释放时间可能比您预期的要晚很多。我们建议您在处理完图像后调用 Dispose,因为它们往往会使用垃圾收集器不知道的大量内存。
于 2013-06-06T10:41:16.430 回答