【问题标题】:TableView with simple 2 or 3 cells scrolling is leaking具有简单 2 或 3 个单元格滚动的 TableView 正在泄漏
【发布时间】:2012-04-07 18:55:07
【问题描述】:

我已经自定义了 tableview 单元格,每当我滚动时,它都会泄漏内存,如下图所示。与 customtableviewcell 滚动效果相同。

我已经下载了几个苹果示例项目和相同的结果。每当我滚动任何 tableview 列表(即使是 2 或 3 个单元格)或 customtableviewcell 时,内存泄漏!

我正在使用 ARC,但它似乎存在内存泄漏,我不确定我的代码有什么问题。

我正在使用reuseidentifier自定义表格视图单元格

 static NSString *NotesCellIdentifier = @"NotesCell";
            notesCell = (EditingTableTextViewCell *)[tableView dequeueReusableCellWithIdentifier:NotesCellIdentifier];
           if (notesCell == nil)
           {
            [[NSBundle mainBundle] loadNibNamed:@"EditingTableTextViewCell" owner:self options:nil];
            notesCell = editingTableTextViewCell;
            self.editingTableTextViewCell = nil;
           }


#import "EditingTableTextViewCell.h"

@implementation EditingTableTextViewCell


@synthesize label, textViewField;

- (void)dealloc {
    //  [label release];
    //  [textField release];
    //  [super dealloc];
}

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{

    if(editing){
        [self.textViewField setEditable:YES];
    }else{
        [self.textViewField setEditable:NO];
    }
}

@end

这是因为我的自定义单元格保留了旧属性吗?我无法在 ARC 中解除分配,那么如何清除旧的属性值?

我的仪器屏幕截图是:

谁能帮我识别内存泄漏?

提前致谢。

罗摩

【问题讨论】:

    标签: iphone memory-leaks uitableview


    【解决方案1】:

    尝试在您的自定义单元格中实现此功能:

    -(NSString *) reuseIdentifier {
        return @"NotesCell";
    }
    

    【讨论】:

    • 其实我不知道这是否能解决你的漏洞,但至少你会有可重复使用的细胞。
    • 我已经在使用可重复使用的单元格了。令我惊讶的是,即使是 1 个电池,它也显示出泄漏。当我只是滚动而不是别的时,这一切都发生了!不幸的是,它与苹果下载的项目结果相同!!!
    • 如果您使用 ARC,请不要担心。如果您的应用程序没有崩溃,那么这些对象可能会在下一个运行循环中被释放。如果您的应用程序崩溃,那将是一个问题。我知道您正在使用可重复使用的单元格,但如果您没有在您的类中实现上述方法,单元格将被重新创建而不是重复使用。您可以通过在此 if (notesCell == nil){ } 中打印一条消息来检查
    • 如果它稍后被回收,那么它的辉煌。但我刚刚在@Apple 报告了这个错误。我们会看看他们想出什么..
    【解决方案2】:

    Apple 今天回来并接受它作为一个错误:ID# 11106828 和 ID# 10710601。当我得到回复时,我会在这里发布更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多