转:http://www.jslover.com/code/527.html

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

发布时间:2014-12-01 16:37:01 评论数:0 分类:code
 

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

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

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

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

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

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

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

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

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

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

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

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

ios/iphone手机请求微信用户头像错位BUG及解决方法的更多相关文章

  1. IOS开发证书变成“此证书的签发者无效”解决方法

    IOS开发证书全部变成无效,如下图  打包提示错误  解决方法: 1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA ...

  2. linux使用su切换用户提示 Authentication failure的解决方法& 复制文件时,报cp: omitting directory `XXX'

    linux使用su切换用户提示 Authentication failure的解决方法:这个问题产生的原因是由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在 ...

  3. python用户评论标签匹配的解决方法

    python用户评论标签匹配的解决方法 这篇文章主要为大家详细介绍了python用户评论标签匹配的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 我们观察用户评论发现:属性词往往和情感词伴 ...

  4. Laravel dingo,HTTP的请求头(accept)无法携带版本号的解决方法

    Laravel dingo,HTTP的请求头(accept)无法携带版本号的解决方法  2017年9月6日  原创分享  zencodex  使用 Laravel dingo 做api开发时,涉及 A ...

  5. PHP处理大数据量老用户头像更新的操作--解决数据量大超时的问题

    /** * @title 老用户头像更新--每3秒调用一次接口,每次更新10条数据 * @example user/createHeadPicForOldUser? * @method GET * @ ...

  6. 【jquery】ajax 请求成功后新开窗口被拦截解决方法

    问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以 ...

  7. ios svn无法连接xp或者win7系统svn的解决方法

    找到服务器svn的安装目录,或者直接查找httpd.conf,找到端口号,复制到ios系统的svn端口号,就ok了,如图 这是其他人的解决方法 Subversion有两种不同的配置方式,一种基于它自带 ...

  8. 【转】drupal7请求异常,执行时间过长的解决方法

    drupal7请求错误,执行时间过长的解决办法 根据你的系统或网络设置Drupal不能读取网页,造成功能缺失.可能是web服务器配置或PHP设置引起的,可用更新.获取更新源.使用OpenID登 录或使 ...

  9. drupal7请求异常,执行时间过长的解决方法

    drupal7请求错误,执行时间过长的解决办法 根据你的系统或网络设置Drupal不能读取网页,造成功能缺失.可能是web服务器配置或PHP设置引起的,可用更新.获取更新源.使用OpenID登 录或使 ...

随机推荐

  1. equals

    package abstractClasses; import java.time.LocalDate; /** * Created by xkfx on 2016/12/20. */ public ...

  2. java判断时间是否是今天

    SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd"); Date d1=format.parse(FHavetime ...

  3. Spark排错与优化

    一. 运维 1. Master挂掉,standby重启也失效 Master默认使用512M内存,当集群中运行的任务特别多时,就会挂掉,原因是master会读取每个task的event log日志去生成 ...

  4. 电脑的f5刷新不了

    新买的电脑,f5刷新不了页面,网上查了后发现是fn功能键的原因.同时fn+f5即可刷新.可是依然感觉好别扭... 按下fn+esc,再只按f5,就可以刷新页面了.神奇...

  5. javascript内置属性——arguments

    arguments是javascript中的内置属性,可以直接调用函数的参数,作用类似Array,但本身并不是数组.这次发现它是为了实现封装函数,将不确定数量的数字乘积.比如function mult ...

  6. Aptana Studio 2启动时提示 Workspace Cannot Be Created 解决办法

    今天在安装Aptana Studio 2时出现这个东东,卸载后再安装依旧不行最后找到原因 原因 : 就是由于你把“我的文档”的位置修改造成的. 但Aptana还以为 “我的文档”的位置 是在系统的默认 ...

  7. Google API在线生成二维码的方法

    1.先看一个实例,是用Google API生成西部e网的网站地址www.weste.net二维码的方法: http://chart.apis.google.com/chart?cht=qr&c ...

  8. MySQL操作汇总[转]

      这学期学习了数据库系统原理,做了实验,mark一记. 目录(没有一键目录不开心...) 1.T—SQL的简单查询.连接查询 (1)用SQL语句建库.建表并插入记录. (2)修改表结构,包括修改属性 ...

  9. 介绍开源的.net通信框架NetworkComms框架之七 数据加密通信

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  10. 转: javascript实现全国城市三级联动菜单代码

    <html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv=" ...