返回信息流大概就是 一个uitableview 下拉刷新获取新的数据,就想把以前array清空,从新给这个array赋值,我用的 removeall 的方法,一清空就出去内存溢出的问题,求指导
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #13633同步于 2014/5/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖
请教一个IOS有关NsMutableArray清空内存溢出的问题
ccyingzi2009
2014/5/9镜像同步17 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
那我怎么才能清空这个array呢?感觉好奇怪,和Android一点都不一样,还要考虑内存问题
【 在 apocalypse 的大作中提到: 】
: arc?mrc?
内存问题。。检查代码。执行removeall的时候 这个array里面的东西 可能在别处已经被release过了吧
【 在 ccyingzi2009 的大作中提到: 】
: 那我怎么才能清空这个array呢?感觉好奇怪,和Android一点都不一样,还要考虑内存问题
: 内存问题。。检查代码。执行removeall的时候 这个array里面的东西 可能在别处已经被release过了吧
如果逻辑代码没问题 这是不需要考虑的。。。清一个array removeall 就够了
问题就出在业务逻辑代码里可能会有别的到操作干扰了这个array
需要如下信息 你是arc 还是 mrc
mutablearray是怎么创建的
剩下还得排查 在removeall之前还干了什么其他操作
array里面的item 类 是什么 dealloc 里写了啥 item类都干了啥操作
无论是 arc 还是 mrc
iOS的内存 都得是程序员关注和维护的。。。arc只不过更大程度的减少了程序员的工作量。。。但ios开发必须得关注 内存分配和释放。。
@property (nonatomic, strong) NSMutableArray *mutableQuestion;
self.mutableQuestion = [[NSMutableArray alloc]init];
上面是初始化,
下面是 json的解析,然后赋值给question对象, 把question对象添加到上面那个数组中,
后面就是 uitableview的呈现了。
点击下拉刷新是我的意图是把上面那个数组清空,然后从新走一遍上面的流程。
【 在 apocalypse 的大作中提到: 】
: 无论是 arc 还是 mrc
: iOS的内存 都得是程序员关注和维护的。。。arc只不过更大程度的减少了程序员的工作量。。。但ios开发必须得关注 内存分配和释放。。
以下内容不能解决实际的内存问题。。
不过你要只是想赶紧看看效果跑通程序 可以这样做
直接创建一个全新的nsmutablearray 一一塞进去数据 然后直接赋值给原来的变量
之后reloaddata
旧的数组会被arc在某个时间点释放掉。。。(由于你的实际问题没有解决。。这样做可能会有泄漏。。或者crash的时间被延后到arc释放旧数组的时候)
【 在 ccyingzi2009 的大作中提到: 】
: @property (nonatomic, strong) NSMutableArray *mutableQuestion;
: self.mutableQuestion = [[NSMutableArray alloc]init];
: 上面是初始化,
: ...................
问题出在你使用mutableQuestion 和 里面的Question 上。。。
Question类如何构建 如何 dealloc等
cellforrow:index
的时候 都怎么操作Question了
感觉是这个 question创建的问题,应该怎么创建呢?
Question *question = [[Question alloc]init];
question.title = title;
question.author = author;
question.questionID = questionID;
question.createTime = createTime;
question.updateTime = updateTime;
question.tags = keywords;
question.answerCount = [NSNumber numberWithInteger:answerCount];
question.answerTime = answerTime;
question.lastAnswerAuthor = lastAnswerAuthor;
question.images =mutablearray;
question.viewType = viewType;
[refreshQuestion addObject:question];
【 在 apocalypse 的大作中提到: 】
:
: 问题出在你使用mutableQuestion 和 里面的Question 上。。。
: Question类如何构建 如何 dealloc等
: ...................
我创建了一个临时的array 。把question添加进去, removeall也直接溢出
【 在 apocalypse 的大作中提到: 】
:
: 问题出在你使用mutableQuestion 和 里面的Question 上。。。
: Question类如何构建 如何 dealloc等
: ...................