假设我有3个Xaml视图,我使用MasterDetailPage和NavigationPage来向后导航到这些页面。第A页 - >第B页 - >第C页 - > ...
我使用PushAsync来执行导航。没什么大不了的......
我以两种方式实现:
1 - 每次导航时都会创建这些视图的新实例:
await Navigation.PushAsync(new Views.PageA());
2 - 为每个页面创建一个静态属性(在应用程序视图中),我将其用于导航:
public static Views.PageA PageA
{
get
{
if (_pageA == null)
{
_pageA = new Views.PageA();
}
return _pageA =;
}
}
await Navigation.PushAsync(App.PageA);
还有其他办法吗?每次都使用静态或新实例?
我关心的是性能和内存使用情况。
请将您的观点与您的观点联系起来,并且一些代码将被贬低。
答案 0 :(得分:0)
最好的方法是使用push和pop。您可以使用pushmodalasync创建新的根页面(在这种情况下,导航堆栈计数= 1)。和poptorootasync转回你的根页面(navigationstack [0])。