iOS-OC-tableview SDWebImage加载多张图片内存警告(received memory warning)
2016-06-08 17:24
746 查看
我们在做类似于朋友圈的列表的时候,我们在每个cell上加载多张图片的时候,我们快速的滚动列表,会收到内存警告,并且会出现闪退的状况;
我做了下面的操作解决了问题;
1.加载小的缩略图;
现在很多公司的图片服务器选择第三方的,比如阿里云,七牛等等,他们都有自己方法来获取缩略图,当然你们公司如果有自己的服务器,也可以自己做缩略图;
例如,以七牛为例
原图URL:http://7xpx8n.com1.z0.glb.clouddn.com/media_album_45666666_2016_05_24_14_15_06_144_8123.jpg
缩略图URL:http://7xpx8n.com1.z0.glb.clouddn.com/media_album_45666666_2016_05_24_14_15_06_144_8123.jpg?imageView2/1/w/200/h/200
2.在用户正在进行用户操作的时候,SDWebImage停止下载图片
3.内存处理,我们在收到内存警告的时候,取消下载,清除缓存
在AppDelegate里面写
我做了下面的操作解决了问题;
1.加载小的缩略图;
现在很多公司的图片服务器选择第三方的,比如阿里云,七牛等等,他们都有自己方法来获取缩略图,当然你们公司如果有自己的服务器,也可以自己做缩略图;
例如,以七牛为例
原图URL:http://7xpx8n.com1.z0.glb.clouddn.com/media_album_45666666_2016_05_24_14_15_06_144_8123.jpg
缩略图URL:http://7xpx8n.com1.z0.glb.clouddn.com/media_album_45666666_2016_05_24_14_15_06_144_8123.jpg?imageView2/1/w/200/h/200
2.在用户正在进行用户操作的时候,SDWebImage停止下载图片
//SDWebImageRetryFailed :下载失败后,会重新下载 //SDWebImageLowPriority :在用户正在进行用户操作的时候,SDWebImage停止下载图片 SDWebImageOptions options = SDWebImageRetryFailed | SDWebImageLowPriority; NSString *uelStr = [NSString stringWithFormat:@"%@?imageView2/1/w/%.0f/h/%.0f",dict[@"url"],imageWidth,imageWidth]; [imageview sd_setImageWithURL:[NSURL URLWithString:uelStr] placeholderImage:[UIImage imageNamed:@"ZH_默认图片.jpg"] options:options completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { imageview.contentMode = UIViewContentModeScaleAspectFill; }];</span>
3.内存处理,我们在收到内存警告的时候,取消下载,清除缓存
在AppDelegate里面写
#pragma mark - 收到内存警告 - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application{ NSLog(@"内存警告了⚠️⚠️⚠️⚠️⚠️⚠️⚠️"); SDWebImageManager *mgr = [SDWebImageManager sharedManager]; [mgr cancelAll]; [mgr.imageCache clearMemory]; } </span>
相关文章推荐
- ios 含有textfield的viewcontroller随键盘弹起而改变位置
- ios 图片库和相机选择图片界面修改为简体中文
- [IOS 开发] 格瓦拉 控制器之间的换场动画。
- iOS应用崩溃日志揭秘
- iOS监听电话来电、挂断、拨号等
- 【iOS开发】事件处理之响应链(二)
- ios开发经典语录锦集
- 第三方解决键盘遮挡问题总结(IQKeyboardManager)
- 【雕虫小计win PE】使用GHOST备份还原操作系统(转载)
- iOS单元测试UnitTest
- iOS开发 关于MD5加密的相关使用
- IOS 内支付那点事
- iOS Xcode中SVN的配置
- iOS - 二维码扫描和应用跳转
- ios开源框架--iOS-Universal-Framework的配置环境和使用
- LaunchImage和LaunchScreen.xib混用出现的坑
- iOS 音乐播放器(一)
- iOS Alcatraz 插件管理
- iOS学习应用开发就业课:第7章_060:导航控制器动画
- iOS改变系统中的英文为汉语