我已经尝试开发UWP App,但是我发现内存泄漏存在很多问题,使用简单的项目从页面切换到其他页面时,使用visual studio诊断程序无法释放内存。其他用户有同样的问题吗?
用于重现我准备的示例项目的问题
http://www.fasthomestore.it/UWPNavigation.zip
编译,启动项目,启动visual studio诊断,等待30分钟,内存不断增加
答案 0 :(得分:0)
您可能需要将NavigationCacheMode
设置为Required
或Enabled
,默认情况下,此值为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
财产。