C# Android webview在继续运行后挂起/崩溃(2-3天)

C# Android webview在继续运行后挂起/崩溃(2-3天),c#,android,xamarin.forms,webview,xamarin.android,C#,Android,Xamarin.forms,Webview,Xamarin.android,我已经创建了一个Xamarin.forms应用程序,它在webview中运行URL。该应用程序是一款数字看板播放器,因此Android TV/Box将永远运行 我发现在2-3天后,webview要么变得不稳定/挂起/崩溃。我尝试了几乎所有类型的旗帜,但没有一种是有效的 一些android TV/Box使用com.google.android.webview和一些com.android.webview Android视频盒(Android 7.1 API 25): 日志(检查时间戳:10-21 1

我已经创建了一个Xamarin.forms应用程序,它在webview中运行URL。该应用程序是一款数字看板播放器,因此Android TV/Box将永远运行

我发现在2-3天后,webview要么变得不稳定/挂起/崩溃。我尝试了几乎所有类型的旗帜,但没有一种是有效的

一些android TV/Box使用com.google.android.webview和一些com.android.webview

Android视频盒(Android 7.1 API 25):

日志(检查时间戳:10-21 14:32:36.278 16584):

有人有什么解决办法吗?

            MyWebClient client = new MyWebClient();
            MyWebChromeClient client2 = new MyWebChromeClient();

            webView.SetWebViewClient(client);
            webView.SetWebChromeClient(client2);

            webView.Settings.JavaScriptEnabled = true;

            WebSettings webSettings = webView.Settings;

            if (Android.OS.Build.VERSION.SdkInt > BuildVersionCodes.Kitkat)
            {
                webSettings.BuiltInZoomControls = true;
                webSettings.SetSupportZoom(false);
                webSettings.DisplayZoomControls = false;
                if (Element.AspectRatio)
                    webView.SetInitialScale(100);
            }

            webSettings.SetPluginState(WebSettings.PluginState.On);
            webSettings.SaveFormData = false;
            webSettings.SavePassword = false;
            webSettings.AllowFileAccess = true;

            webSettings.CacheMode = CacheModes.Default;
            webSettings.DatabaseEnabled = true;
            webSettings.DomStorageEnabled = true;
            webSettings.AllowContentAccess = true;
            webSettings.AllowFileAccessFromFileURLs = true;
            webSettings.AllowUniversalAccessFromFileURLs = true;
            webSettings.BlockNetworkImage = false;
            webSettings.BlockNetworkLoads = false;

            webSettings.JavaScriptEnabled = true;
            webSettings.LoadWithOverviewMode = true;
            webSettings.UseWideViewPort = true;
            webSettings.SetAppCachePath(this.Context.CacheDir.AbsolutePath);

            webSettings.SetAppCacheEnabled(true);
            webSettings.LoadsImagesAutomatically = true;
            webSettings.MixedContentMode = MixedContentHandling.AlwaysAllow;
            webSettings.SetEnableSmoothTransition(true);
            if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat)
            {
                //This flag is for the android box as those are rooted. It's the same displayed on the above video link.
                if (MainActivity.IsRootedDevice)
                    webView.SetLayerType(LayerType.Software, null);
                else
                    webView.SetLayerType(LayerType.Hardware, null);
            }
            else
            {
                // older android version, disable hardware acceleration
                webView.SetLayerType(LayerType.Software, null);
            }

您可以提供崩溃日志,以便我们了解问题的原因。日志:检查时间戳:10-21 14:32:36.278 16584这是由内存溢出引起的。每个应用程序都有一个最大内存,系统将清除占用大量内存的应用程序。因此,最好在固定时间内重新启动应用程序(比如一天一次)。是否有其他解决方案代替重新启动应用程序?他们是否有持续检查服务的解决方案“我的应用程序现在正在运行吗?否:无论如何启动应用程序,是:好的,一切正常..无需执行任何操作”