1ios中两种图片压缩的方式

更新时间:2023-07-08 23:20:56 阅读: 评论:0

1ios中两种图⽚压缩的⽅式
介绍:
英语看图说话UIImageJPEGReprentation 需要两参数:图⽚的引⽤和压缩系数
青椒土豆丝的做法UIImagePNGReprentation⽅法需要⼀参数:图⽚的引⽤
两种⽅式返回的都是NSData类型
⽐较:
同样是读取摄像头拍摄的图⽚,UIImagePNGReprentation(UIImage *image)返回的数据量⼤⼩为199K,⽽UIImageJPEGReprentation(UIImage *image,1.0)返回的数据量只有140K,⽐前者少了50多K;⽽且如果对图⽚的质量要求不那么⾼的话,还可以通过设置压缩系数进⼀步减少数据量,降低压缩系数后UIImageJPEGReprentation(UIImage *image, 0.5),返回的数据⼤⼩只有11K,⼤⼤压缩了图⽚数据量,⽽且从视图⾓度看,图⽚的质量并没有明显降低。所以,在读区图⽚数据内容的时候,建议优先使⽤⽅法UIImageJPEGReprentation(UIImage *image, CGFloatcompressionQuality)
护发膜怎么使用jpeg :耗时短
贝里琉岛png:耗时长
代码:
NSData *data = nil;养老金可以取出来吗
if(!UIImagePNGReprentation(image)) {
stdev函数
data =UIImageJPEGReprentation(image,0.1);
}el{
data =UIImagePNGReprentation(image);
}
实⽤:
将数组中的UIImage取出,存为本地PNG图⽚
问题:  通过UIImagePNGReprentation()⽅法保存PNG格式图⽚时,由于ARC机制,会产⽣⼤量临时的autorelea对象,需要等待runloop 的autoreleapool销毁时才能销毁这些对象。由于for循环中的临时对象⽆法及时释放,造成内存持续增长,最终导致程序的不稳定,甚⾄崩溃。
instruments:内存暴涨  尽管代码中创建了⾃⼰的@autoreleapool,但是临时对象仍然没有被销毁,仍然以⾃⼰的节奏⾼速增长。
⽅案: 使⽤imageIO存储PNG图⽚
for循环存png图⽚快乐动物园
先增后减:增长峰值为截图产⽣的内存
广目天
另⼀种⽅式: 渲染
imageIO:

本文发布于:2023-07-08 23:20:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1086290.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:对象   数据量   需要   内存
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图