私の WPF アプリケーションには、Frame
オブジェクトと 2 つのハイパーリンクがあります。各ハイパーリンクをクリックすると、フレームが別のPage
オブジェクトに移動します。
フレームは でナビゲートされFrame.Navigate(new Page1());
ます。
ユーザーが 2 つのページを何度も切り替えた場合、ページはメモリに残ります。したがって、page1 を 10 回表示し、page2 も 10 回表示すると、20 ページすべてがメモリに残ります。
このような問題を回避できるように、WPF アプリケーションをナビゲートする正しい方法は何ですか?
編集
フレームがナビゲートされるたびに手動のガベージコレクションも試しました。次のコードを使用しました。
void ContentFrame_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
GC.Collect();
Debug.WriteLine("Garbage Collected");
}
これで問題は解決しませんでした。