WP7 - Xaml页面和峰值内存问题

时间:2011-08-04 16:17:43

标签: windows-phone-7 memory-management garbage

我遇到90mb峰值内存限制问题。

例如:我创建1个全景应用程序(带有默认内容)并添加3个PivotPages或6个纵向页面(页面A和页面B ..带有空白内容)。每次我在这些页面之间导航和返回时,内存使用量都会越来越高。最后,它超过了90mb的限制。

我使用按钮进行导航:

private void btn1_Click(object sender, RoutedEventArgs e)
{
    NavigationService.Navigate(new Uri("/PageA.xaml", UriKind.Relative));
}

在页面之间导航时,我是否会错过重要的内容?在寻找解决方案时,我听说过垃圾收集器?我该如何使用它或者我需要使用它?

我找不到答案;我发现了类似的主题:http://forums.create.msdn.com/forums/p/76007/466968.aspx但是没有最终的解决方案。

注意:我正在使用Coding4fun工具包来测量内存使用情况。


编辑:我创建了一个带有一些数据透视页面的示例全景应用程序(1个带有内容)。

http://i54.tinypic.com/zfip.jpg

一开始,应用程序以30mb打开。在我导航到相同的枢轴页面几次后,Peakmemory开始逐渐增加并停留在47mb。这是正常的吗?也许,我不明白这个应用程序构建的动力。但是如果它不断增加ram的使用并且在一些使用后使应用程序崩溃,那就没有意义了。

1 个答案:

答案 0 :(得分:2)

当您远离它们时,Somethign会阻止您的页面被卸载。你可能在某个地方有资源泄漏,但没有看到你的代码,我们将不太可能提供更多的帮助。

您不必担心垃圾收集。