美文网首页
使用picasso加载图片会调不执行的问题定位

使用picasso加载图片会调不执行的问题定位

作者: a树 | 来源:发表于2017-04-06 23:16 被阅读0次

    现象:

    1.使用picasso的public void into(Target target);加载图片,第一次加载时,回调不执行。

    2.第二次加载时,回调可以执行。

    定位过程:

    1.打开picasso日志,发现第一次时,图片已经从网络下载了。

    2.单步源码,发现在加载完成后,target为null

    3.进一步阅读源代码,发现target为WeakReference对象

    结论:

    第一次加载是从网络加载,异步,target对象被回收,故回调不执行。

    第二次是从picasso的cache里获取,同步,target不会被回收,回调可以执行。

    在调用的地方,持有target对象,就可以解决第一次回调不执行的问题。

    相关文章

      网友评论

          本文标题:使用picasso加载图片会调不执行的问题定位

          本文链接:https://www.haomeiwen.com/subject/ngeqattx.html