Утечки памяти UWP на странице навигации - PullRequest
0 голосов
/ 04 мая 2018

Я пытался разработать приложение UWP, но я обнаружил много проблем с утечками памяти, при использовании простого проекта при переключении со страницы на другую страницу память не свободна с помощью визуальной диагностики студии. У другого пользователя такие же проблемы?

для воспроизведения проблем я подготовил пример проекта

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

Скомпилируйте, запустите проект, запустите визуальную студийную диагностику, подождите 30 минут, память постоянно увеличивается

1 Ответ

0 голосов
/ 07 мая 2018

Вам может потребоваться установить 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 свойство.

...