我有一个Windows 10 UWP应用程序,我使用
进行了很多导航Frame.Navigate(typeof(myClass));
我知道当我导航时,这会创建一个类的新实例,在这种情况下是myClass。这一切都很好,我很好。
我也知道我可以设置导航缓存,特别是当您要使用后台堆栈进行导航时。但是,我没有这样做。我基本上有一个按钮可以前进,还有一个按钮可以返回。单击该按钮时,我就像上面显示的那样调用Frame.Navigate。
我这样做的原因是,当我想通过这个简单的导航前进和后退时,我不想担心导航堆栈。
那就是说,问题就在这里。我知道GC可能需要时间来处理类的实例。如果我快速从一个类导航到另一个类,那么GC是否可能尚未处置并且我正在实例化该类的多个实例?如果是这样,我应该以某种方式明确处理该类吗?我在想是否覆盖OnNavigatedFrom并在那里处置?
因此,例如,让我们说快速调用以下内容(大约一秒左右),因为用户正在按下按钮来回来回。
Frame.Navigate(typeof(myClass));
Frame.Navigate(typeof(myClass2));
Frame.Navigate(typeof(myClass));
Frame.Navigate(typeof(myClass2));
是否有可能暂时结束每个类的两个实例,直到GC开始清理?我应该如何保持这一切干净?
谢谢!