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

时间:2016-03-21 11:11:14

标签: android webview xamarin xamarin.forms

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

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

1 个答案:

答案 0 :(得分: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;
        }
    }
}