为什么Xamarin.Forms WebView会增加Android应用存储数据的大小?

Tom*_*Tom 2 android webview xamarin xamarin.forms

我有一个使用功能的Xamarin.Forms应用程序WebView.它打开一个简单的网页.

每当我打开其中的网页时,应用的存储数据大小就会增加.我在Android /设置/应用信息/存储上查看它.我的应用程序大小约为15 MB,但打开一些页面后,它会达到50 MB,依此类推.它在做什么?缓存?要么...?我该如何禁用它?

Sve*_*übe 6

我假设它是缓存WebView.不幸的是,表单WebView的缓存是不可配置的.因此,您必须编写自定义渲染器并在本机视图上禁用它.将此类添加到Android项目中.

[assembly: ExportRenderer(typeof(WebView), typeof(NoChacheWebViewRenderer))]
namespace MyApp.Droid.Renderer
{

    public class NoChacheWebViewRenderer : WebViewRenderer
    {
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);
            if (Control == null) return;

            Control.ClearCache(true);
            Control.Settings.SetAppCacheEnabled(false);
            Control.Settings.CacheMode = CacheModes.NoCache;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)