为了账号安全,请及时绑定邮箱和手机立即绑定

感觉此处BUG,ImageLoader对象只有一个,多次调用showImageByThread给mUrl赋值再在子线程中发消息队列,由于赋值在是主线程中所以可能handleMessage处理消息时此mUrl并非对应当前的消息。

ImageLoader对象只有一个,多次调用showImageByThread给mUrl赋值再在子线程中发消息队列

由于赋值在是主线程中所以可能handleMessage处理消息时此mUrl并非对应当前的消息。

例如:有可能在handleMessage处理消息时,此时的mUrl对应的是第二次showImageByThread赋值的mUrl。

不知道有没有讲清楚让老师看懂...

正在回答

3 回答

“例如:有可能在handleMessage处理消息时,此时的mUrl对应的是第二次showImageByThread赋值的mUrl。” 这不正是我们想要的结果吗?如果mUrl还是第一次showImageByThread赋值的mUrl,那不闪了吗?因为如果现在更新第一个showImageByThread的ImageView一会儿就一定会更新第二个。也就是会闪。所以加入mUrl判断,让他只更新最新的一个。这不是bug。

1 回复 有任何疑惑可以回复我~

你说的对

0 回复 有任何疑惑可以回复我~

我也觉得是有的,mImageView.getTag().equals(mUrk)看上去一直都是成立的。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android必学-异步加载
  • 参与学习       50627    人
  • 解答问题       311    个

了解Android中的异步加载处理方法,这是面试问的最多的知识点

进入课程

感觉此处BUG,ImageLoader对象只有一个,多次调用showImageByThread给mUrl赋值再在子线程中发消息队列,由于赋值在是主线程中所以可能handleMessage处理消息时此mUrl并非对应当前的消息。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信