在UWP应用程序中导航会导致内存泄漏

时间:2017-06-03 10:47:38

标签: c# visual-studio uwp windows-10 visual-studio-2017

我的根页面包含SplitView,其中包含rootFrame。我在这个框架中显示我的应用程序页面。

<SplitView DisplayMode="Overlay">
    <SplitView.Pane>
        <Grid/>
    </SplitView.Pane>
    <Frame x:Name="rootFrame"/>
</SplitView>

我使用此代码从一个页面导航到另一个页面

myRootPage.rootFrame.Navigate(typeof(MySecondPage));

问题是经过一些导航来回导致内存使用量增加并最终导致应用程序崩溃!

在Visual Studio中使用Memory Profiler,我注意到导航后发生了巨大的增长。但我不知道我应该在报告中查看是什么原因造成的。

如何避免这种情况?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

NavigationCacheMode设置为NavigationCacheMode.Required,这样每次导航时,应用都不会创建新的网页实例,但这只是第一次:

<Page <!-- some unrelated XAML code -->
      NavigationCacheMode="Required"
      >