Iphone内存泄漏

时间:2010-11-19 05:02:31

标签: iphone memory-leaks

 label = (UILabel *)[cell.contentView viewWithTag:1];
            label.text =labelString; 
            size = [label.text sizeWithFont:[UIFont fontWithName:@"ArialMT" size:14] constrainedToSize:CGSizeMake(320,9999)  lineBreakMode:UILineBreakModeWordWrap];
            label.frame = CGRectMake(5, 5, 295, (size.height+25));

UIFont留下256字节泄漏。

我的应用程序中还存在一些与Web工具包和Foundation库相关的其他泄漏。

NSString *path = [[NSBundle mainBundle] pathForResource:@"Prayers" ofType:@"html"];
    NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:path];

    NSString *htmlString = [[NSString alloc] initWithData:
                            [readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding];

这些行留下UIKit WebKit和DataDetectorsCore相关的泄漏。

请为此问题建议任何解决方案。总漏出的内存大约为3 KB,可以  把它留在应用程序中或不。

3 个答案:

答案 0 :(得分:1)

我怀疑你在UITableViewCell实例上有泄漏。 你做了一些自定义UITableViewCells,也许你需要检查那些UITableViewCells。

答案 1 :(得分:0)

你提到的UIFont泄漏根本不会泄漏。当您使用fontWithName方法时,UIFont未发布的可能性是UIFont的内部缓存。

答案 2 :(得分:0)

我注意到UIFont可能在不从主线程调用时可能会泄漏内存。将断言放在代码之前。这将使您能够捕获错误。

NSAssert([NSThread isMainThread]);