0

我有一个应用程序,允许用户拍照并将它们存储在隔离存储中。然后检索这些图像以将它们显示在列表中。当列表中有超过 30 张图像时,该应用程序会出现性能问题。从存储中检索这些图像并将它们绑定到列表需要很长时间。很多时候,应用程序只是被操作系统关闭,因为它需要太长时间。

此外,我认为随着市场上出现分辨率更高的设备,图像的尺寸越来越大,并且对性能的影响更大。

我需要一些关于如何解决这个问题的指导。我有几件事:1)我如何异步检索要从 IS 检索的每个图像,以便页面可以加载,但图像是以异步方式检索的。任何示例代码表示赞赏。2) 另一种方法是在存储原始照片的同时创建实际照片的缩略图照片(较小的尺寸和分辨率),然后使用此缩略图照片绑定到列表。如果应该这样做,那么我应该如何动态处理图像以创建原始照片的较小尺寸的缩略图版本。

任何其他想法也值得赞赏。谢谢你的时间。

4

2 回答 2

1

不要将独立存储伪装成 SQL Server。会有很大的性能差异。如果要处理太多数据,请将它们发送到服务器。

但是,有一种获取缩略图的方法。你可以使用它:

http://msdn.microsoft.com/en-us/library/system.drawing.image.getthumbnailimage.aspx

另外,请检查此答案:

创建缩略图

于 2012-04-30T18:30:20.700 回答
1

如果可以的话,我建议使用异步 CTP并使从隔离存储中加载图像的代码异步。生成缩略图的方法也可以是异步的。

如果您不能这样做(将这些依赖项添加到您的项目中),请使用 BackgroundWorker。也许这篇文章可以帮助您入门。

这将允许您的 UI 在后台线程上继续处理时做出响应。

于 2012-04-30T21:49:11.153 回答