每次在Xamarin Forms中使用NavigationPage的新实例?

时间:2016-12-02 09:51:28

标签: c# xamarin xamarin.forms

假设我有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);

还有其他办法吗?每次都使用静态或新实例?

我关心的是性能和内存使用情况。

请将您的观点与您的观点联系起来,并且一些代码将被贬低。

1 个答案:

答案 0 :(得分:0)

最好的方法是使用push和pop。您可以使用pushmodalasync创建新的根页面(在这种情况下,导航堆栈计数= 1)。和poptorootasync转回你的根页面(navigationstack [0])。

相关问题