2016-12-26 22 views
0

是否在应用程序的开始加载了所有页面?还是他们只在我驾驶他们时才加载?当我离开一个页面时,该页面的资源是否已发布?或者有什么方法可以控制它?何时在UWP中加载页面?

+0

在导航到页面并将XAML代码绘制到用户界面后加载页面。您可以在这里找到关于页面资源:https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.page.navigationcachemode –

回答

1

页面是一个对象,当你想要导航到它们时,它正在被初始化。导航意味着创建一个新的Page对象并将其传递给Frame的内容。

当您调用Frame.Navigate时,系统会自动生成一个新的指定类型的Page对象。有一个名为INavigationAware的接口,主要控制NavigatedTo和NavigatedFrom事件。无论您何时导航到页面,都会运行OnNavigatedTo事件处理程序。每当您从页面导航时,OnNavigatedFrom处理程序都会运行。还有OnNavigatingTo和OnNavigatingFrom事件会在这些事件之前触发。

您应该取消注册OnNavigatedFrom方法中的任何事件处理程序和回调以防止不必要的内存泄漏。如果您有从后台线程运行的任何线程,请不要忘记取消它们。当您离开具有在UI线程上运行的线程的页面时,您的导航将排队并在UI操作完成后发生。

您应该阅读应用程序生命周期管理MSDN页面here以获取有关生命周期操作如何影响Page对象的更多信息。

相关问题