在新的sprint中发现了个问题,我们需要实现一个文件缩略图的浏览器,显示添加的图片文件的缩略图,并且显示到应用程序中,显示缩略图很简单,不过本着精益求精(我自己都觉得自己是在装b)的原则,需要完成下列需求:
(1) 图片加载完毕之后不能够再使用图片文件;
(2) 图片加载完毕之后不能够占用大量内存;
(3) 图片需要异步加载,在图片过多时尽可能快的让用户能够看到部分图片的缩略图
这三点功能对于我这种初学者来说有些困难,在网上差了很多老外的文章之后,发现了解决方案,具体思路:
(1) 在加载完毕图片之后需要将对原有图片的引用与实例进行Dispose,这样能够解决需求中的(1)于(2);
(2) 自己集成一个Image,这样能够自定义一个依赖项属性,实现对ViewModel中的数据的绑定,来实现对图片缩略图的异步加载
加载图片之后将图片的引用Dispose: