IOS 图片下载成功,展示却灰灰的问题。ImageIO: CGImageReadCreateDataWithMappedFile 'open' failed

最近有同事反馈页面中图片展示一半,一半灰灰的问题。一度以为是下载失败,就没当回事。后来又有其他用户反馈这样的问题,才重视起来。拿到同事手机debug,发现图片下载是成功的,能够打印出来,展示的时候却像下载失败一样。纠结半天才发现console里面有报错:ImageIO: CGImageReadCreateDataWithMappedFile  'open' failed 'xxx...'。然后百度了一下,发现还蛮多类似的问题的。

问题出现在imageWithContentsOfFile:这里,在获取本地缓存中的图片时候,图片有可能被删除,因此在使用 UIImageView.image=theimage 时展示就出问题了。一般手机剩余可用空间足够的情况下,几乎不会出现这种问题,剩余不足500M的情况下图片被删除的几率很大。

    改成以下方式来展示图片,能解决问题:

NSData *imageData = [NSDatadataWithContentsOfFile:filePath];

UIImage * theimage = [UIImageimageWithData:imageData];

UIImageView.image=theimage;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值