一个业务需求,需要实现如下效果:
进入一个页面A之后,请求数据会下发后面B,C,D等页面的所有图片资源URL。为了让B,C,D的效果更理想,希望能在进入A之后就先下载后面所有的图片资源。
SDWebImage有一个专门预加载工具:SDWebImagePrefetcher。直接调用:
[[SDWebImagePrefetcher sharedImagePrefetcher] prefetchURLs:imageURLs];
然后把cache图片做为placeholder:
[self.backImg sd_setImageWithURL:[NSURL URLWithString:url] placeholderImage:[[SDImageCache sharedImageCache] imageFromCacheForKey:url]];
这么做的好处是一进入B,C,D等页面就可以显示预先缓存的图片。同时请求最新的图片,如果图片有更新,也可以刷新。
网友评论