iOS开发进阶-使用SDImageCache优化用户体验

本文探讨了如何使用SDImageCache优化iOS应用的图片加载体验,包括在A控制器预处理并缓存图片以减少B控制器的处理时间,以及通过监听应用状态改变来预防屏幕闪烁问题,提升用户体验。
摘要由CSDN通过智能技术生成

SDWebImage的基本功能和使用这里不在一一介绍,网上有很多资料可以参考。本文主要讲解SDImageCache在实际开发中的一些体验优化,后续有新的优化思路和实际问题会继续补充。

提前对图片进行预处理

需求是这样的,我在A控制器需要显示图片imageA,A控制器跳转到B控制器,在B控制器我需要显示ImageAA,ImageAA是对ImageA进行拉伸虚化处理之后的图片,一般开发的思维都是在B控制器中重新下载一份ImageA,然后对Image进行虚化拉伸处理。这样做一方面没有使用SDWebImageCache已经缓存的图片,另一方面,拉伸渲染图片会浪费很多的时间。解决该问题好的思路就是在A控制器中加载完图片之后在回调里面对图片进行虚化拉伸处理。然后以URL再加自定义的字符串拼接起来作为渲染图片的键,最后用SDimageCache把图片缓存起来。

 [self.avatarImageView sd_setImageWithURL:url placeholderImage:[UIImage imageNamed:@"avatar_180x180"] options:SDWebImageLowPriority|SDWebImageRetryFailed|SDWebImageRefreshCached completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL){
        if (image) {
            dispatch_async(dispatch_get_global_queue(0, 0), ^{
            //提前渲染B控制器需要的图片
                CGSize imageSize = image.size;
                CGSize size = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值