版权申明:未经允许请勿转载。转载前请先联系作者(hello@yeshen.org)
今天收到一个兼容性的BUG,有vivo的某部手机上有这样的情况。在android-webview中,H5上的图片没有加载出来。
我看了下测试的图片4.1M。看起来不算大。查了一下,好像没有其他报错。我试了我自己下载的图片,也没发现问题。
所以我怀疑是图片大小格式的问题。
可以这样看图片信息:
file w3009.jpeg
# w3009.jpeg: JPEG image data, JFIF standard 1.01, resolution (DPI),\
# density 72x72, segment length 16, Exif Standard: [TIFF image data,\
# big-endian, direntries=5, xresolution=74, yresolution=82, \
# resolutionunit=2], baseline, precision 8, 5632x3009, frames 3
可以这样裁剪图片
# imagemagick ubuntu
convert WechatIMG3.jpeg -resize 5634x3010 w3010.jpeg
convert t.jpg -crop 5616x3018 t3018.jpg
定位了一个下午,最终定位到是图片size的问题。边界的size是大约在16949688(5632*3009)上。
只要低于这个乘积,那么就可以显示出来,高于这个乘积,就挂了。
考虑到这个size,也要加载许久。。
解决办法:
可以在输入端限制图片size。也可以在显示端获取特定大小size的图片。