2 u012911714 u012911714 于 2015.07.22 21:26 提问

IOS 加载大量本地图片内存暴增

在做浏览本地图片的时候,有大量的本地图片需要加载,初始化的时候就用循环的方式
把所有的图片都加载出来导致内存暴增。该怎么改进。最好有代码~

4个回答

zhao18933
zhao18933   2015.07.23 08:53

你的图片应该是以瀑布流的方式显示的把?用户看到的只有当前展示的图片,其他图片可以稍候再加载到内存中,你可以建立一个图片队列,设置上限数为30,即内存中最多存在30张图片
你如果不想自己写,可以使用 SDWebImage 来做,它的缓存机制做得比较全面

zhao18933
zhao18933 回复Lucifer717: SDWebImage也可以加载本地图片的
接近 3 年之前 回复
Lucifer717
Lucifer717 不过他说是加载本地图片啊
接近 3 年之前 回复
CSDNXIAON
CSDNXIAON   2015.07.22 21:29

iOS 加载图片时的内存警告
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

wangyaninglm
wangyaninglm   Ds   Rxr 2015.07.23 09:04

可以加载缩略图的吧,完后点击的时候再去读取原图的办法是否可行?

serbub
serbub   2015.07.30 19:05
  1. 懒加载,只加载能看到的
  2. 不要使用imageNamed:
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
iOS 同一页面加载上百张图片,迅速滑动时导致内存暴涨程序崩溃的参考解决方法
本例中项目大致流程是先由客户端拍照或者选择图库中的图片进行上传,然后可以从详情页面中浏览所有上传的图片,由于图片是按照相册进行分类,而每个相册中最多可以有50张照片,极限的情况是详情页面最多可以有20多个相册,由此导致需要对图片的加载进行必要的优化,避免程序占用内存过多导致程序崩溃
完美解决SDWebImage加载多个图片内存崩溃的问题
SDWebImage大家肯定都恨熟悉了,国内外太多的App使用其进行图片加载。 但是最近在使用过程中发现,我用SDWebImage加载多个图片,类似微博动态那种,在加载的过程中。我发现当图片分辨率比较大的时候(不是图片大),加载几张图片就崩溃了。 网上说可以每次加载图片清空memcache,但是效果并不好。 [[SDImageCache sharedImageCache]
iOS 加载大量高清图片, 内存警告导致crash
无论是网络图片还是本地图片,只要将图片压缩了,就不会报内存警告 给UIImage 写一个类目. 类目中添加以下方法按照你需要的大小重绘UIImage, 实现图片压缩 -(UIImage*)scaleToSize:(CGSize)size {     // 创建一个bitmap的context     // 并把它设置成为当前正在使用的context     UIGraphicsBegi
使用SDWebImage和YYImage下载高分辨率图,导致内存暴增的解决办法
最近,收到朋友求助,说是有个控制器,一进去就crash,而且手机非常的烫,用instrument跑了跑,发现内存暴增几百兆;如图: Snip20160725_5.png   图中可以看出,内存暴增的罪魁祸首是YYImage,再进一步定位问题,如图: Snip20160725_6.png   现在已经可以很清楚的知道,具体是哪些代码导致
iOS tableview SDWebImage加载多张图片内存警告(received memory warning)
最近项目中遇到一个问题 在tableview上展示多张图片,在加载的过程中,图片过多时,加载几张图片就崩溃了。内存溢出 为什么会出现这种情况 这个原因其实很明显,SDWebImage产生的图片缓存过多,造成APP内存溢出,崩溃了。 查了一些资料 有三种解决方法 1. 更改图片的大小,在tableview中展示缩略图,点击查看的时候显示原图。其中看到的一篇意思到了(传
iOS开发中加载图片的内存问题以及优化方案
图片的加载方式iOS目前有2种: 1.Resource 它是指inageWithContentsFile:创建图片的图片管理方式; 2.ImageAssets 它是指使用imageNamed:创建图片的图片的管理方式; UIImage内存处理: 真是的App开发中,常用的无非是1和2两种方式 1的优缺点: 1的使用方式:NSString *path =[[NSBundle mainBu
IOS使用scrollview显示大量图片,实现缓存,节省内存
一般大家在用scrollview加载图片的时候少量还好,若是大量图片则很容易引起内存不足,这里介绍一种省内存的办法,只加载前后加当前一共三张即可,然后来回切换加载图片,相当的省内存,用到两个自己写的类,一个是Myscrollview,一个是easyImageLoader,不罗嗦,上代码#import <UIKit/UIKit.h> @protocol MyScrollViewDelegate <NS
Glide 加载内存中已经加载的图片
glide.with(this).load(uri) .thumbnail(0.1f) .dontAnimate() .diskCacheStrategy(DiskCacheStrategy.SOURCE) .into(imageView); uri 必须是一样的,而且 diskCacheStrategy
SDWebimage 加载大量图片的时候内存泄露的解决方法(ios自学笔记)
SDWebImage的知名度就不用说了,github上近10k的star,国内外太多的App使用其进行图片加载。 但是最近在使用过程中发现,在UITableView中不断加载更多的内容,使用SDWebImage会造成内存占用越来越大,导致memory warning最终terminate,稍微找了下问题原因,发现不少开发者都遇到过这个问题,中文的资料没有搜到该问题的解决办法,为了方便国内其他开发
关于使用SDWebImage内存爆涨的问题
这几天在做一个需求,需要在一系列的控制器里下载N张图片。最方便最省事的解决方案当然首选SDWebImage这个框架(相信也很少不去用它的)。把图片地址放进去,返回一个图片,轻松,快捷,令人幸福,直到看到下面这个画面。 屏幕快照 2016-07-14 下午4.56.39.png 什么鬼!内存竟然从20M给我彪到了180+M!而且当我把控制器移除之后,内存竟然也没有丝毫的下降,这在APP上