我正在为移动浏览器构建Javascript应用程序(不包装为原生应用程序).
我注意到,如果图像尺寸超过特定阈值(宽度超过1400像素左右),Android(经过测试的2.3模拟器和Galaxy S设备)会降低加载图像的质量.这使得无法加载大位图图像(2000 x 2000 px)而质量无法使用.
我测试了这个
>加载一个大图像并将其绘制在 – 我得到了像素垃圾.如果我使用lineTo()绘制网格线,它们具有完美的质量,那么坏的必须在图像像素数据中
>将大图像切成100 x 100个切片并将它们绘制到画布上 – 这是我发现的唯一方法,不会降低质量.但是,切片很麻烦,为预处理图像和页面加载时间增加了额外的步骤
>我测试了使用新的Image()对象,标签和CSS背景加载图像:所有东西都受到质量下降的影响,所以我怀疑问题是图像加载器本身
>我也用CSS图像渲染https://developer.mozilla.org/En/CSS/Image-rendering尝试了一切 – 没有运气
>视口标记似乎对图像加载没有影响 – 当您尝试触摸加载的像素数据时,数据已经是垃圾.我尝试了Android SDK文档http://developer.android.com/reference/android/webkit/WebView.html中建议的所有可能值
还测试了Firefox移动,桌面浏览器,iOS:一切都很好.
那么,发生了什么 – Android WebView根本无法加载大图像?
(这里挂着Android机器人的笑脸)