导航到页面增加了内存使用量Windows Universal 8.1

我正在创build一个Windows通用8.1应用程序。 每当我导航到一个页面,然后回到页面,然后再次页面的一个新的实例被保存在内存中。 显然垃圾收集器在一段时间后释放内存,但是如果不需要,我宁愿不使用内存。 有没有办法回收或处理这些网页?

Solutions Collecting From Web of "导航到页面增加了内存使用量Windows Universal 8.1"

在Windows Uriversal App中,我们可以使用NavigationCacheModerecycle页面。 它可以在页面的构造函数中设置。 例如,我们想要回收一个MainPage:

 public MainPage() { this.InitializeComponent(); // Set the NavigationCacheMode of Page to Enabled. // The page is cached, but the cached instance is discarded when the size // of the cache for the frame is exceeded. this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Enabled; // OR Set the NavigationCacheMode of Page to Required. // The page is cached and the cached instance is reused for every visit // regardless of the cache size for the frame. // this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Required; } 

设置完成后,我们可以返回到MainPage而不重新创建它。

如果NavigationCacheMode设置为Disabled 。 页面的内存将从OnNavigatedFrom中 释放

还有一个和SO类似的问题: 在Windows 8 C#App中导航回页面构造函数