我正在使用Xamarin.Forms开发基于浏览器的应用程序,其中我创建了多个webview实例 . 当我尝试在webview中加载任何在线网站时,当webview呈现内容时,它会冻结UI . UI根据网站内容冻结几秒钟 .

我试过这个:

Device.BeginInvokeOnMainThread(() => {
Webview.Source = "https://www.cnet.com";
});

但没有运气 .

Updated code:

我有一个网格来保存webview的多个实例:

<Grid x:Name="Parent" BindingContext="{Binding GuideVm, Source={StaticResource VmLocator}}"
            HorizontalOptions="Fill" VerticalOptions="Fill"/>

每当用户打开一个新标签时,我都会在上面的“网格”布局中添加一个新的webview:

var browser = new WebView { BindingContext = tab };
browser.SetBinding(WebView.SourceProperty, "UrlSource");
browser.SetBinding(WebView.IsVisibleProperty, "IsWebViewVisible");
Parent.Children.Add(browser);

我正在加载这样的内容:

public Command LoadWebCommand => new Command(OnLoadWeb);
public void OnLoadWeb()
{
    try
    {
        IsWebViewVisible = true;
        UrlSource = Url.GetWellFormedUrl();
    }
    catch (Exception exception)
    {
        Debug.WriteLine("OnLoadWeb exception: " + exception.StackTrace);
    }
}

这个冻结问题就像是,例如当我将www.cnet.com加载到一个选项卡(它有自己的关联webview)时,当它加载cnet网站的内容时,我试图打开一个新选项卡,但它冻结并释放GUI经常会直到webview完全加载cnet网站的内容 .

任何人都可以帮我摆脱这个问题吗?

提前致谢!