【问题标题】:Too many images causes UIWebView to flash white when loading web page图片太多导致UIWebView在加载网页时闪白
【发布时间】:2012-07-24 22:02:30
【问题描述】:

我们通过将网站封装在 UIWebView 中来构建 iPhone 应用程序。我们没有使用 PhoneGap,只是一个 UIWebView 来加载使用 jQuery 和 jQuery Mobile 构建的移动应用程序。

如果我们一次显示多于两张图片,网页会闪烁白色一秒钟。如果我们限制加载图片的数量为两张,没有flash,页面加载正常。

UIWebView 在渲染超过 X MB 的图像时是否有问题?

有什么线索吗?

【问题讨论】:

  • 是图片数量问题还是尺寸问题?你注意到了吗?
  • 共有五张图片,没有一张大于 500 KB。最小的是 130 KB。
  • 您是否将其设置为使用硬件加速来呈现您的图像和内容?它通常会有所帮助
  • @CoreyRS,是的,我们对父容器应用了硬件加速。我们是否也需要对图像元素这样做?

标签: iphone ios ios5 jquery-mobile uiwebview


【解决方案1】:

在 css 表单中应用它可能更容易,因此它会影响您的所有 div 和图像。当我遇到离屏渲染问题时,我发现它对我很有帮助

 div, img {
    -webkit-transform:translateZ(0);    
 }

编辑:

对于图像,将“src”更改为“data-src”,然后将此脚本添加到您的页脚,假设您正在运行 jquery:

$(document).ready(function() {
    $('img').each(function(){
        var $imgSrc = $(this).attr("data-src");
        $(this).attr("src", $imgSrc);
    });
});

这将使图像在加载原始正文代码后加载,这将花费不到一秒钟的时间,并且有望防止白色闪光问题。

【讨论】:

  • 谢谢,但这并没有消除闪存。
【解决方案2】:

不知道为什么会这样,但是将页面高度限制在 460 像素(iPhone 应用程序)消除了闪光灯。也许与 JQM 和高度设置有些冲突?

【讨论】:

    猜你喜欢
    • 2017-09-08
    • 2011-11-16
    • 2015-10-14
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多