1

我正在设计一个包含 90 多个项目的 ListPicker 的应用程序。每个项目包含 2 个 PNG 图像(每个大小 < 3KB)和一些文本。

我创建了一个新类来代表我的项目,我正在使用创建这个类的列表

List<ClassName> ClassNameList = new List<ClassName>();

在代码中并使用以下方法将项目附加到列表中:

ClassNameList.Add(new ClassName() {var1=..., var2=...});

就我而言, var1 和 var2 是项目中包含的 PNG 图像的路径。

然后,我使用数据绑定<itemtemplate>将我的项目绑定到列表。

当我在模拟器中加载 ListPicker 时,内存使用量飙升至 256MB 以上。因此,我无法为更新的 256MB RAM 手机提交我的应用程序。有什么办法可以减少内存使用吗?

4

1 回答 1

1

图像文件大小并不意味着它将使用相同数量的内存;通常图像采用压缩格式(在您的情况下为 PNG),文件大小减小。然而,这并不意味着它将使用更少的内存。另请阅读此主题(尽管它是关于 WPF 的,但对于任何情况它仍然是相同的原理)。

我不知道您的情况,但是如果您有许多相同的图片,您可能需要考虑缓存您的图片(或使用例如代理模式)以减少内存中的重复图片。

于 2012-05-02T07:02:27.953 回答