我正在设计一个包含超过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手机提交我的应用程序。 有没有办法减少内存使用量?
答案 0 :(得分:1)
图像文件大小并不意味着它将使用相同数量的内存;通常图像采用压缩格式(在您的情况下为PNG),文件大小减小。然而,这并不意味着它将使用更少的内存。另请阅读this topic(虽然它与WPF有关,但对于任何情况,它仍然是相同的原则。)
我不知道你的情况,但是如果你有很多相同的图片,你可能想要考虑缓存你的图像(或使用例如proxy pattern)来减少内存中的重复图像。