导航页面上的UWP内存泄漏

时间:2018-05-04 08:00:56

标签: xaml uwp winrt-xaml

我已经尝试开发UWP App,但是我发现内存泄漏存在很多问题,使用简单的项目从页面切换到其他页面时,使用visual studio诊断程序无法释放内存。其他用户有同样的问题吗?

用于重现我准备的示例项目的问题

http://www.fasthomestore.it/UWPNavigation.zip

编译,启动项目,启动visual studio诊断,等待30分钟,内存不断增加

1 个答案:

答案 0 :(得分:0)

您可能需要将NavigationCacheMode设置为RequiredEnabled,默认情况下,此值为Disabled,这意味着 页面永远不会被缓存,每次访问时都会创建一个新的页面实例

public SecondPage()
{ 
    this.InitializeComponent();
    this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Required;
     ...
    //this.Unloaded += SecondPage_Unloaded; 
} 

private void OnTick(object sender, object args)
{
    //_timer.Stop();
   ...
}

每次页面导航时都不会创建新实例。更多详情请参阅Page.NavigationCacheMode财产。