2016-12-26 11 views
0

すべてのページがアプリケーションの先頭にロードされていますか?または、私はそれらの方に向かっているときだけロードされますか?私がページを出ると、そのページのリソースが解放されますか?それとも私がそれを制御できる方法はありますか?ページはいつUWPに読み込まれますか?

+0

ページに移動し、XAMLコードがUIに描画されると、ページが読み込まれます。ページリソースについては、次のURLを参照してください。https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.page.navigationcachemode –

答えて

1

ページはオブジェクトであり、それらにナビゲートしたいときに初期化されています。ナビゲーションとは、新しいPageオブジェクトを作成し、それをFrameのコンテンツに渡すことを意味します。

Frame.Navigateを呼び出すと、システムは自動的にタイプuの新しいPageオブジェクトを指定して生成します。主にNavigatedToとNavigatedFromイベントを制御するINavigationAwareというインターフェースがあります。ページに移動するたびに、OnNavigatedToイベントハンドラが実行されます。ページから移動するたびに、OnNavigatedFromハンドラが実行されます。 OnNavigatingToイベントとOnNavigatingFromイベントは、それらの前にトリガーされます。

不要なメモリーリークを防ぐために、OnNavigatedFromメソッドでイベントハンドラーとコールバックの登録を解除する必要があります。バックグラウンドスレッドから実行中のスレッドがある場合は、それらもキャンセルすることを忘れないでください。 UIスレッドでスレッドが実行されているページから移動すると、ナビゲーションはキューに入れられ、UI操作が完了した後に実行されます。

ライフサイクル操作がページオブジェクトに与える影響の詳細については、Application Lifecycle Management MSDNページhereを参照してください。

関連する問題