使用TableView增加内存

时间:2011-10-19 09:56:13

标签: objective-c ipad uitableview memory

首先为我的英语道歉。 我有一个问题需要几天时间才能给我带来麻烦。 在同一视图中,我有两个tableview,当你从tableview1中选择一个选项时,会显示tableview2中的项目。 文章显示正确,但问题是通过使用选项分配分析向我显示内存增加,即选择tableview1并加载内存tableview2中的对象并增长,按正确的其他选择项目显示我以前的文章,但没有免费记忆并增加新物品。

此外,我有一个不透明度为20%的标签,每次在tableview1中选择一个类别时,标签的不透明度增加20%,就好像它们重叠一样。

TableViewController1 -- ListaCategoriasViewController.m

TableViewController2 -- ListaArticulosViewController.m

1 个答案:

答案 0 :(得分:1)

我可以看到一个问题:你使用stringWithFormat进行一些字符串分配,这个字符串是一个自动释放的字符串,但为了这个工作,你必须使用自动释放池。

这是我在

中的ListaArticulosViewController.m中注意到的一个问题
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

您必须使用autorelease池将自动释放对象保存在您的代码中:

 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init;
 ...  your code  ...
 [pool drain];
你的cellForRowAtIndexPath中的

在同一区域,我可以看到你分配了一些图像(UIImage),但你永远不会释放它们。