CoreAnimation占用了大量内存

时间:2014-07-16 21:36:21

标签: ios ipad memory-management core-animation

我遇到的问题是coreAnimation占用了大量内存。每次重新绘制UItableview的所有单元格时,它都会像我在xcode Profiler中看到的那样不断增加。

我删除了自定义UITableviewCell的drawRect方法并再次尝试但出现了同样的问题。

如果我删除cellForRowAtIndexPath中的代码,它就可以解决问题。所以我认为它就在那里。但我仍然无法弄明白。

我没有使用任何动画,我没有使用Core Graphics绘制任何东西。有什么想法吗?

UITableViewCellForRow *cell = [tableView dequeueReusableCellWithIdentifier:contentRowsIdForCaching];

if (cell == nil)
{
    cell = [[UITableViewCellForRow alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:contentRowsIdForCaching];
    cell.selectionStyle = UITableViewCellSelectionStyleGray;
    NSArray *arrValues = [self getRow:indexPath.row];
    cell.arrValues = arrValues;

    arrValues = nil;
}
else
{          
   [self getRowIntoArray:indexPath.row array:[cell getMutableValues]];

   [cell setNeedsDisplay];
}

编辑:我更改了reuseidentifier,告诉UITableView的cellForRowAtIndexpath重新创建所有单元格,然后调用reloaddata方法。我是否需要释放或解除那些较旧的细胞?

1 个答案:

答案 0 :(得分:0)

我读了一篇关于UITableview性能的Apple文档,人们应该只在表格单元格中创建一次子视图布局,并在需要时调整大小,重新定位,隐藏/显示它们。