ios 图片加载内存尺寸_ios 对于超高分辨率(图片本身不大)的图片加载导致内存暴增的处理方法...

news/2024/7/7 1:25:45 标签: ios 图片加载内存尺寸

0f0a1d08e3a1b1e156dfc95ff62e32070.jpg

上面的图片是一个分辨率很高的图片图片本身只有1M左右但是分辨率很大。5472*3648,如果连续九张加载到UIImageView的时候导致内存暴增甚至会导致app因为memory的问题闪退。

如果直接使用SDwebImage加载的话,你会发现导致内存暴增

我的解决方法是:

//子线程加载图片

dispatch_async(dispatch_queue_create(0, 0), ^{

UIImage *ima = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[_picUrlArr objectAtIndex:i]]]]; //存放图片url图集_picUrlArr

UIImage *newImage;

if (ima.size.width > 1024) { //分辨率大的则重绘,否则不重绘

//获取原图片宽高比

CGFloat sourceImageAspectRatio = ima.size.width/ima.size.height;

CGSize newSize = CGSizeMake(1024, 1024/sourceImageAspectRatio);

//重绘图片

UIGraphicsBeginImageContext(newSize);

[ima drawInRect:CGRectMake(0, 0, newSize.width,newSize.height)];

newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

} else {

newImage = ima;

}

//主线程更新UI

dispatch_async(dispatch_get_main_queue(), ^{

displayImgview.image = newImage;

});

});

记录,用于学习,如有错误请赐教。谢谢


http://www.niftyadmin.cn/n/1710835.html

相关文章

一些经典题型----数据结构与算法

1.找到链表倒数第k个节点 假设一共链表长度为 x, 倒数第k个节点就是正数第 x-k1个节点 所以,方法 在起点设置两个指针a,b当 a 走到第 k-1个节点时,b 开始走当 a 走完整个链表时,b 所处位置就是倒数第k个节点位置a&…

默认是什么_男左女右是什么意思 为什么我们会默认男左女右?

在我们的生活中,对于男女的位置似乎有一个大家都默认的规矩,那就是男左女右。这个默认的约定存在于生活的方方面面,比如,一般的公厕就是男左女右;男女照一些正式的合照,比如结婚照,就是男左女右;还有一些情…

在Visual Basic 6.0中MSFlexGrid控件与DataGrid控件有什么不同?

都是数据绑定控件,但是也有一定的区别,适合不同的应用场合: MSFlexGrid 控件: Microsoft FlexGrid (MSFlexGrid) 控件可以显示网格数据,也可以对其进行操作。它提供了高度灵活的网格排序、合并和格式设置功能,网格中可…

python 数据类型要点

1.dict 对于字典来说 它的底层是由 hash表实现的 大数据写成字典模式再遍历,会减小复杂度,优化算法 因为 字典遍历复杂度为O(1),列表为O(n)另 字典要求其 key值必须是不可变数据类型,如元组,整形,字符串型列表就不行再…

分布式运用——rsync远程同步

分布式运用——rsync远程同步 一、rsync的背景和原理1.rsync的功能2.rsync的应用场景3.使用rsync的基本命令4.scp与rsync的区别 二、配置rsync源服务器1.关闭防火墙2.建立/etc/rsyncd.conf 配置文件3.保证所有用户对源目录/var/www/html 都有读取权限4.启动 rsync 服务程序5.关…

在电脑上怎么做判断题打√或x_2018电脑知识期末考试

出题人:莫大神白注:闭卷考试请自觉作答,请勿在评论区留下答案一、填空题(1分1空共52分)1.当今机械硬盘写入方式分两种分别是______和______2.叠瓦硬盘的特征是______,缺点是______、______3.硬盘分为三种分别是,______、______和_…

android html转word保留样式_【转】WORD批量去除文本框保留文本

文本框一般以浮动的形式(即文字环绕方式为四周环绕、紧密环绕、衬于文字上方等)存在于文档中,选中文本框时可以看到在它的左侧有一个锚定标记,锚标总是在某一个段落的开头位置,表示浮动的文本框锁定于该段落&#xff0…

NtQueryObject 获得内核对象的信息

导读 玩过电脑的都知道,Widnows任务管理器,我们经常用它查看机器的CPU内存等信息,也用它杀死一些卡主的进程。 而作为开发人员,我们为了更了解进行的运行状况,就不得不说另外两个工具: procexp.exe&…