我在我的代码中使用了下面的行
NSData *dataForImage=UIImagePNGRepresentation(image);
我的应用程序由于内存不足而崩溃。当我使用 VM 跟踪器/分配时,它显示了堆增长。我分析了代码。它显示我在上面的线上泄漏为 100%。方法是否UIImagePNGRepresentation
需要更多的内存分配?据我所知,它返回一个自动释放的对象。
如果我做错了什么,请告诉我。
编辑:它没有显示泄漏仪器泄漏。我使用了分配工具,然后对特定功能进行了快照。它向我展示了堆增长。我认为它是在更多使用应用程序后导致应用程序崩溃的原因。在堆中我使用了“扩展详细信息”,它在上面的行上显示了 100%
编辑:希望这会有所帮助
-(IBAction)Save{
MyInfo *myInfo = [[MyInfo alloc]init];
if (theimageView.image != nil) {
UIImage *image=[theimageView.image fixImageOrientation];
[myInfo set_image:image];
NSData *dataForImage=UIImagePNGRepresentation(image);
image=nil;
[myInfo set_imageData:dataForImage];
dataForImage=nil;
}
[tempArray addObject:myInfo];
[myInfo release];
myInfo=nil;
// Here I have added myInfo object in array and released that object
}
在上面的代码中,fixImageOrientation
是为 UIImage 写的一个类。