-1

我有一个 Xamarin.Forms 应用程序MyWebViewPage : ContentPage,它在 App.xaml.cs 中设置为 MainPage。每次当我使用await Navigation.PushAsync(new MyWebViewPage())应用程序中其他页面在 MainPage 上进行转换时,都会在内存中创建一个 MyWebViewPage 类型的新实例。我可以在不创建这种类型的新实例的情况下实现页面 MyWebViewPage 的现有实例的转换吗?我在此页面上使用与 SignalR 链接的媒体播放器,并且该播放器播放声音的次数与创建此类型的实例一样多。所以我只需要一个这种类型的实例。感谢您的任何帮助。

4

1 回答 1

1

您是否尝试过保存实例并导航到同一个实例?所以不要这样做:

await Navigation.PushAsync(new MyWebViewPage());

你做:

await Navigation.PushAsync(_webViewPage ??= new MyWebViewPage());

或者如果你不喜欢三元:

if (_webViewPage == null)
    _webViewPage = new MyWebViewPage();

await Navigation.PushAsync(_webViewPage);
于 2020-11-13T09:46:42.813 回答