С помощью этого кода я создаю новое представление:
CoreApplicationView newView = CoreApplication.CreateNewView();
int newViewId = 0;
await newView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
Frame frame = new Frame();
frame.Navigate(typeof(SecondaryPage), null);
Window.Current.Content = frame;
// You have to activate the window in order to show it later.
Window.Current.Activate();
newViewId = ApplicationView.GetForCurrentView().Id;
});
bool viewShown = await ApplicationViewSwitcher.TryShowAsStandaloneAsync(newViewId);
Когда я закрываю это новое окно и снова запускаю код, и снова я закрываю это новое окно и снова открываю другое окно, использование памяти в окнах становится все больше и больше... так что я думаю, что все окна не закрыты, но просто спрятался на самом деле...
Итак, есть 2 способа, которыми я пытаюсь:
- Попробуйте на самом деле «убить» закрытое окно
- Попробуйте повторно показать скрытое окно и изменить его содержимое...
Я просто хочу, чтобы было только 2 окна, главное и это вновь созданное... Любое предложение о том, как это сделать?
Редактировать:
Вот как это выглядит, когда я использую этот пример https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/MultipleViews
Это 3 скриншота с этим приложением.
Это потребление памяти при запуске приложения:
Это после того, как я добавил 4 вида:
И вот когда я открываю и закрываю каждый из них:
Итак, даже в их примере использование памяти растет...