使用此代码,我正在创建新视图:
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 个窗口,主窗口和这个新创建的窗口......关于如何做到这一点的任何建议?
编辑:
这是我使用此示例时的样子https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/MultipleViews
这是这个应用程序的 3 个屏幕截图。
这是应用程序启动时的内存消耗:
这是在我添加 4 个视图之后:
这是我打开和关闭它们的时候:
因此,即使在他们的示例中,内存使用量也在上升......