android - WebView 附加到 WindowManager android 时执行缓慢

标签 android webview

我正在创建一个显示 HTML5 视频的应用程序,用于学习 android 编程,它使用 Floating WebView

即使在升级了 WebView 的设备上,它的表现也非常不稳定。 (我使用的是 Lollipop 驱动的 Nexus 5)

虽然它附加在 Activity 上(不是 float 的),但它表现得非常光滑。 即使它是 float 的,当任何 WebView 被放置在 Current Activity 上时,它也能流畅地执行。 但是,如果当前 Activity (如启动器)上没有 WebView,则它会执行得非常缓慢且不稳定。

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

    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);

是否有解决此问题的方法?

编辑 添加了解释此行为的视频:http://youtu.be/BPDxzRRO1N8 在进行一项 Activity 时,它表现得像黄油一样光滑:http://youtu.be/aQcJRPCZWYs 在 Kitkat 上,至少在三星 Galaxy 上,它表现得像黄油一样光滑:http://youtu.be/7Dw0tJ67eJw

我也提交了一个错误 https://code.google.com/p/chromium/issues/detail?id=460440

最佳答案

可以添加

webView.setLayerType(WebView.LAYER_TYPE_HARDWARE, null);

希望对你有帮助

关于android - WebView 附加到 WindowManager android 时执行缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28622262/

相关文章:

android - 通过 onListItemClick() 更改 Activity 内的 Fragments

Android 自定义警告对话框 mediaplayer seekbar

android - 无法自定义 fragment 选项卡主机的选项卡

javascript - 如何在 WebView 中扩展 JavaScript 控制台(以匹配 ConsoleMessage.MessageLevel)

android - 如何提高 webview 加载时间

android - 下拉菜单中的 Ancher 字体大小在移动浏览器中发生变化

android - Android无法解析id

android - 检测滚动结束位置自定义 webView

javascript - 通过 javascript 对网页所做的更改未出现在 WebView 中。有没有办法强制 WebView 重绘其内容?

ios - 如何使用 UIPickerView 的结果分配字符串,使用字符串作为 WebView url