iPhone:UTableView使用UITableViewStyleGrouped使用比UITableViewStylePlain更多的内存

时间:2010-04-02 12:32:49

标签: iphone uitableview

我正在使用UITableView样式UITableViewStyleGrouped初始化如下:

CGRect imgFrame = CGRectMake(0, 0, 320, 650);
UITableView *myTable = [[UITableView alloc] initWithFrame:imgFrame style:UITableViewStyleGrouped];
myTable.dataSource = self;
myTable.delegate = self; //make the current object the event handler for view
[self.view addSubview:myTable];
[myTable release];

表的数据存储在数组dataArray中。 dataArray本身是一个数组集合,其中每个数组代表表的一部分。目前我只有一个部分有100个记录/行。

当我将应用程序安装到我的iPhone上时,我发现这个UITableView消耗了20 MB的iPhone内存。如果我将表视图样式更改为UITableViewStylePlain,那么它只消耗4MB内存。

“UITableViewStyleGrouped”有什么问题?

此致 prathumca。

1 个答案:

答案 0 :(得分:0)

您的代码没有明显错误。导致问题的最可能原因是细胞的重复使用不当。

检查-tableview:cellForRowAtIndexPath:中的逻辑。我认为你会发现,当你将样式设置为plain时,你可以正确地重复使用单元格,但是当你将它设置为分组时,你每次都会创建新的单元格。新细胞堆积在记忆中。