BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #13633同步于 2014/5/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

请教一个IOS有关NsMutableArray清空内存溢出的问题

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