美文网首页
利用runloop解决列表滑动时不加载图片的问题

利用runloop解决列表滑动时不加载图片的问题

作者: 水水兔 | 来源:发表于2020-01-08 16:53 被阅读0次

    之前在做一个列表功能时,当用户一直滑动列表时,一直会调用sdwebimage去加载图片,这样就会出现,当列表停止时,可视区域cell的图片还没下载完显示默认图片,而前面那些不可视区域的cell图片却加载完了,体验非常不好,原因是sdwebimage下载图片并发数总是有上限,导致先加载的先下载完,后加载的在排队。
    利用runloop可完美解决这个问题,代码还简洁。方案就是列表滑动时,不要去调sdwebimage加载图片的方法。
    下面先介绍一些相关知识。

    NSObject perform系列接口

    在调用perform系列方法时,系统会给我们创建一个Timer的source,加到对应的RunLoop上去,timer默认是加在NSDefaultRunLoopMode,所以滑动列表时,会停止调用perform的方法,利用这个特性,我们可以实现,在列表滑动时不去加载图片。

    具体实现

    1578472815520.jpg

    效果

    pllqk-n3rz4.gif

    当然我在这里只是介绍有这么一种机制能实现这么一个功能,具要怎么实现才能让体验更好,还得开发者自己再去琢磨。

    相关文章

      网友评论

          本文标题:利用runloop解决列表滑动时不加载图片的问题

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