所以我有一个表格视图,我正在填充自定义表格单元格。我遇到的问题是,当大量物品开始填满桌子时,滚动时开始放慢速度。 (我已经实现了动态滚动,因此用户滚动时会出现一种方法,从服务器中取出下一个x项目,以便在不刷新/按任何内容的情况下滚动至其内容的内容。)UITableView自定义单元格,滚动和内存管理
现在我是从自定义模板创建的细胞我建于IB和初始化它们是这样的:
CustomCellClass *cell = (CustomCellClass *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellNib owner:self options:nil];
cell = (CustomCellClass *)[nib objectAtIndex:0];
}
应该如何在这样的情况下,内存管理工作,所以我不最终以内存和减慢巨大的采空区向下滚动?任何帮助/建议/见解将不胜感激。谢谢!
编辑:我检查了内存泄漏,所以不应该是问题。
是的,我是这样做的异步,所以用户界面不冻结。它工作的很好,但是当大量的细胞被加载时它会有一些滞后。这有点奇怪,因为如果我钻入一个单元然后回去,那么好的表现会回来。所以我有点不知所措... – gabaum10 2010-11-22 15:52:17
你可以添加一些NSLog调用到你的CustomCellClass并观察init/deallocs,以确保表单元的内存管理工作正常。一旦你获得了一个充满单元的屏幕,它应该从这一点开始重用单元格(例如,当你滚动时,不应该有init/dealloc)。那会告诉你这个问题是在表格单元还是在其他地方。 – cbranch 2010-11-22 15:57:52
哈哈哦,请检查我的答案。 – gabaum10 2010-11-22 16:06:04