我做了一个测试应用:
https://dl.dropbox.com/u/16063542/TestImageMemory.zip
它由三个页面组成:
起始页。
使用 ListBox 显示图像列表的页面
使用 LongListSelector 显示图像列表的页面
第 2、3 页上相同的图像,相同的 DataTemplate:
<DataTemplate>
<Grid Height="300">
<Image local:LowProfileImageLoader.UriSource="{Binding}" />
</Grid>
</DataTemplate>
我正在使用 LowProfileImageLoader,每个为 WP 开发过任何东西的人都知道。
现在,我正在执行一个测试:
启动应用。
转到 ListBoxPage 并返回 20 次。
内存消耗没有增加并保持在 appx。 50 MB 级别。
然后我对 LongListSelector 页面执行相同的操作。
应用在第 13 次导航时崩溃。
有人知道问题出在哪里吗?
最佳答案
问题显然出在您的 LowProfileImageLoader 中。把它扔掉,一切都会好起来的。我刚刚在没有它的情况下检查了您的应用程序,LongListSelector 页面上的内存消耗也没有超过 50 兆。
关于memory-leaks - WP8 LongListSelector内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15431827/