我正在为Windows10开发一个UWP应用程序。我有一个问题的内存管理在我的应用程序。我有一个
编辑:
整个页面的XAML超过300行,所以我不能将其粘贴在这里。但事件是这样登记的
<Button Name="Sample" Tapped="Sample_Tapped" Content="Sample Button" />
每次都会重新创建页面。它没有缓存。我在SplitView内容中有一个框架,每当用户希望更改显示的图像部分时,该框架就会更改。
MainFrame.Navigate(typeof(ImagePage),"SampleSection");
当用户更改节时,我将调用垃圾收集器
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
GC.Collect();
}
但没有释放内存。
我认为这一行造成了问题:
您将保持每次用户选择图像时创建新页面。它会超时消耗内存。
解决方案是使用新数据(new dataContext?)刷新页面,而不是创建新数据。另一种解决方案是,当您需要使用BackStack属性创建新页面时,清除大型机的导航堆栈。
将XAML中的