Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当连接到WindowManager android时,WebView执行缓慢_Android_Webview - Fatal编程技术网

当连接到WindowManager android时,WebView执行缓慢

当连接到WindowManager android时,WebView执行缓慢,android,webview,Android,Webview,我正在创建一个显示HTML5视频的应用程序,用于研究android编程,它使用浮动WebView 即使在升级了WebView的设备上,它的性能也非常不稳定。 (我用的是棒棒糖驱动的Nexus5) 当它附着在活动上(而不是浮动)时,它表现出黄油般的平滑。 即使它是浮动的,当将任何WebView放在当前活动上时,它也会平稳运行。 但如果像launcher这样的当前活动中没有WebViews,那么它的执行速度会非常慢,而且会非常紧张 下面是我正在使用的部分代码: WindowManager w

我正在创建一个显示HTML5视频的应用程序,用于研究android编程,它使用浮动
WebView

即使在升级了
WebView
的设备上,它的性能也非常不稳定。 (我用的是棒棒糖驱动的Nexus5)

当它附着在活动上(而不是浮动)时,它表现出黄油般的平滑。 即使它是浮动的,当将任何
WebView
放在当前活动上时,它也会平稳运行。 但如果像launcher这样的当前活动中没有
WebView
s,那么它的执行速度会非常慢,而且会非常紧张

下面是我正在使用的部分代码:

    WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
    WebView = new WebView();
    WindowManager.LayoutParams paramsRL = new WindowManager.LayoutParams(
            800,
            450,
            WindowManager.LayoutParams.TYPE_PHONE,
            WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
            WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
            PixelFormat.TRANSLUCENT);
    paramsRL.gravity = Gravity.TOP | Gravity.LEFT;

    webView.setWebChromeClient(new WebChromeClient());
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    webView.loadUrl("html5_video_page_URL_here");
    windowManager.addView(webView,paramsRL);
有没有解决这个问题的办法

编辑 添加了一个视频来解释此行为: 当连接到某个活动时,它会执行奶油般平滑的操作: 在Kitkat上,至少在三星Galaxy上,它表现得非常平滑:

我也在

我一直在开发一个带有浮动视频播放器的应用程序,我遇到了同样的问题。我没有找到问题的根本原因,但我解决了这个问题

我有一个启动浮动视频播放器的活动(基本上是一个使用类型_SYSTEM _ALERT类型的服务),当我添加了一个由该活动启动的通知播放器(类似于Spotify使用的通知播放器)时,问题消失了


正如我所说,我无法确定问题的根本原因,但似乎只要活动或由活动启动的某个东西是“活动的”(我使用的术语是“活动的”),该问题不会发生,Webview将按预期运行。

我一直在使用浮动视频播放器开发应用程序,我也遇到了同样的问题。我没有找到问题的根本原因,但我解决了这个问题

我有一个启动浮动视频播放器的活动(基本上是一个使用类型_SYSTEM _ALERT类型的服务),当我添加了一个由该活动启动的通知播放器(类似于Spotify使用的通知播放器)时,问题消失了

正如我所说,我无法确定问题的根本原因,但似乎只要该活动或该活动所启动的某项活动是“活动的”(我松散地使用“活动的”一词),问题就不会发生,Webview将按预期运行。

您可以添加

webView.setLayerType(WebView.LAYER_TYPE_HARDWARE, null);
希望对您有所帮助

您可以添加

webView.setLayerType(WebView.LAYER_TYPE_HARDWARE, null);

希望对您有所帮助

您可以在这里阅读更多信息我的评论只是为了保留您的答案,而不是真正理解它。根据规则,答案必须是独立的,过短的答案会受到限制,通常会被删除。这就是为什么我要你详细说明,而不是投票赞成删除。对不起。我有这个问题,我解决了。此代码有助于加速hả矮化并帮助webview变得更好。对不起,我的英语不好。如果你详细解释并将其添加到你的答案以及链接中,RegardsIt将对社区以及提问者有所帮助。你可以在这里阅读更多信息。我的评论只是为了保留你的答案,而不是真正理解它。根据规则,答案必须是独立的,过短的答案会受到限制,通常会被删除。这就是为什么我要你详细说明,而不是投票赞成删除。对不起。我有这个问题,我解决了。此代码有助于加速hả矮化并帮助webview变得更好。对不起,我的英语不好。如果您详细说明解释并将其添加到您的答案以及链接中,RegardsIt将对社区以及提问者有所帮助。