【问题标题】:Tableviecells are not getting deallocted.....Memory Management issuesTableviecells 没有被释放.....内存管理问题
【发布时间】:2010-12-18 04:34:50
【问题描述】:

我正在开发一个应用程序,其中 uitableview 的 uitableviewcells 是自定义的,其中包含一个 textfied(包含 managedobject/核心数据)、label((包含 managedobject)、按钮,所以所有都是自定义的。我正在使用 sqlite 动态创建 uitableview。

My tablview UI http://grab.by/FiJ

同样的 uitableview 视图包含超过 15 个单元格。单元格显示完美。 但我面临细胞占用内存的问题。

如果我在下一个/上一个选项卡上使用核心数据重新加载相同的表格视图,其中包含新单元格(也是新数据)。但在这种情况下,应该释放先前的单元格(单元格的内存)。但是在导航到其他视图(使用上一个/下一个按钮)时,内存会不断增加和增加。

奇怪的是, 当我连续上下滚动 tablview 时,单元格被创建和创建,并且内存逐渐增加。

谢谢。

【问题讨论】:

  • 你能发布你的 -cellForRowAtIndexPath 方法吗?不看代码就很难指出问题
  • 您可能没有使用正确的重用方法。

标签: iphone uitableview memory-management core-data


【解决方案1】:

我认为

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

工作不正确。

检查您的单元格是否具有与您在代码中使用的相同的单元格标识符(您可以在 IB 中指定):

static NSString *cellIdentifier = @"myIdentifier";
MyCell* cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
         if (cell == nil) {
            cell = [[[MyCell alloc] init] autorelease];
         }
cell.text = @"Yahoo!";
...

我认为这是你的问题。

【讨论】:

    猜你喜欢
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多