最近我们的平台上线了几个游戏,iphone同学特别是iphone6 plus测试发现,频繁出错头像错乱的现象,即列表中,个别人的头像被“互换”了。这个很难解释是如何造成,总之就是当微信遇上iphone6擦出的火花。。。。

写了一组测试用例子,可以很容易重现这个BUG:

http://jslover01.sinaapp.com/ios-wx/2-1.html

拿起IPHONE扫一扫,每个页面至少刷新10次,可以看出问题:

正常的状态下的图片顺序:

iphone手机请求微信用户头像错位BUG及解决方法

用iphone6 plus测试,前4种情况都失败,表现为随机出错个别图片的错位(重现率达70%以上)

iphone手机请求微信用户头像错位BUG及解决方法

经过几百上千篇的测试,总结出2种可行的方案:

方法1、将头像中转保存在自己的服务器

    即:http://jslover01.sinaapp.com/ios-wx/2-6.html

方法2、通过前端js处理,对图片进行逐张单队列加载,并且每张图片地址每次都加随机数清除缓存

    即:http://jslover01.sinaapp.com/ios-wx/2-5.html

补充说明:将头像用背景图片的方式展示,情况同以上案例