【问题标题】:Android webkit bug: white screen flashed (for < 1 second) when changing webview URLsAndroid webkit 错误:更改 webview URL 时白屏闪烁(< 1 秒)
【发布时间】:2013-12-09 05:35:18
【问题描述】:

错误报告:http://code.google.com/p/android/issues/detail?id=25722

对于这个报告的错误,任何人都有解决方法/webcore hack?我客户的网站是由黑色背景的页面组成的,而且闪烁的白屏非常糟糕。

Android SDK - 冰淇淋三明治

  • 仅当硬件加速设置为 true 时才会发生

【问题讨论】:

    标签: android webview


    【解决方案1】:

    您是否尝试过将 WebView 的背景设置为黑色?

    webView.setBackgroundColor(Color. BLACK);
    

    编辑:

    抱歉,我完全忽略了错误报告。

    如果android版本是ICS,我认为设置软件层可能是最安全/最可靠的选择:

    if(Build.VERSION.SDK_INT == Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    }
    

    您可能还想包含 Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1

    【讨论】:

    • 谢谢冈特。虽然这个 sn-p 消除了闪烁,但它也会导致使用“CSS3 3d 转换”编写的网页根本无法加载。
    • 又一次尝试 ;) 你能在 WebViewClient 或 WebViewChromeClient 中等待 onPageStartedLoading 和 onPageFinishedLoading 并切换 setVisibility(View.INVISIBLE) 和 setVisibility(View.VISIBLE) 吗?
    • 可见性解决方法也不起作用。我什至测试了在 onPageFinished 事件后几秒钟延迟对 setVisibility(View.VISIBLE) 的调用。这次闪烁发生在 setVisibility(View.VISIBLE) 执行的时间附近。
    【解决方案2】:

    以编程方式更改 webkit 用于更改背景的 glClearColor 的参数对我有用。 Webkit 的 libwebcore 需要重建! :)

    【讨论】:

      猜你喜欢
      • 2014-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 2017-08-24
      • 1970-01-01
      • 2013-05-08
      相关资源
      最近更新 更多