懒惰图像加载和卸载

时间:2014-03-12 14:30:22

标签: c# lazy-loading memory-consumption

我需要处理大量的大型图像。

如果图像延迟加载(Lazy class)并在处理时被破坏,那就太好了。

然而Lazy<>类中缺少的是重置事件,它处理初始化对象并允许再次加载对象(以节省内存)。

如果惰性方法有Clone()Reset()方法,那就太好了。

是否有任何结构可以做到(或者我必须自己写)?

1 个答案:

答案 0 :(得分:0)

你可以很容易地处理一个懒惰的价值。

if (lazy.IsValueCreated) 
    lazy.Value.Dispose();

假设Lazy<T> TIDisposable

我不确定您为什么要再次创建图像,因为您将获得相同的图像。如果您想要一个不同的图像,请使用不同的工厂代理创建一个新的Lazy<T>