1

这段代码一定有问题:

+ (UIImage*)captureView:(UIView *)theView {
    UIGraphicsBeginImageContext(theView.frame.size);
    [theView.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}

当我使用它时,Xcode 会抛出这个错误消息:

malloc:* 对象 0x103f000 的错误:未分配被释放的指针 *在 malloc_error_break 中设置断点以进行调试

我在那里看不到任何内存管理错误。还有其他人吗?

4

2 回答 2

1

我也有同样的警告。但是,它不会出现在 3.1 或更高版本中。

于 2010-03-11T14:09:28.143 回答
0

不看。在构建中设置NSZombie启用以跟踪它。

它可能与从可能位于临时自动释放池中的类方法返回自动释放的 UIImage 有关。该图像可能会因该池的排水而被破坏。要进行测试,请将方法移至实例方法并查看问题是否消失。

于 2010-03-11T13:35:19.950 回答