Objective c UIImagePNGRE演示文稿内存泄漏

Objective c UIImagePNGRE演示文稿内存泄漏,objective-c,ios,uiimagepngrepresentation,Objective C,Ios,Uiimagepngrepresentation,我在代码中使用了以下行 NSData *dataForImage=UIImagePNGRepresentation(image); 我的应用程序因内存不足而崩溃。当我使用VM跟踪器/分配时,它显示了堆的增长。我分析了代码。它显示我在上面的线泄漏为100%。UIImagePNGRepresentation方法占用更多内存分配吗?据我所知,它返回一个自动释放的对象 如果我做错了什么,请告诉我 编辑: 在泄漏仪器中未显示泄漏。我使用了分配工具,然后针对特定功能使用了heapshot。它向我展示了

我在代码中使用了以下行

  NSData *dataForImage=UIImagePNGRepresentation(image);
我的应用程序因内存不足而崩溃。当我使用VM跟踪器/分配时,它显示了堆的增长。我分析了代码。它显示我在上面的线泄漏为100%。
UIImagePNGRepresentation
方法占用更多内存分配吗?据我所知,它返回一个自动释放的对象

如果我做错了什么,请告诉我

编辑:
在泄漏仪器中未显示泄漏。我使用了分配工具,然后针对特定功能使用了heapshot。它向我展示了堆的增长。我认为这是应用程序在使用更多应用程序后崩溃的原因。在heapshot中,我使用了“扩展细节”,它在上面一行显示了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编写的一个类别。

我猜是导致问题的
UIImagePNGRepresentation(image)
方法。你需要把游泳池里的水排干

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

NSData *dataForImage=UIImagePNGRepresentation(image);

[pool release];
或弧形

@autoreleasepool
{
    NSData *dataForImage=UIImagePNGRepresentation(image);
}

它是否真的显示了该行的泄漏(使用泄漏工具),或者只是显示了分配(在分配工具中)?无论哪种方式,您都需要向我们展示使用
dataForImage
的所有代码。它不会在泄漏仪器中显示泄漏。我使用了分配工具,然后针对特定功能使用了heapshot。它向我展示了堆的增长。我认为这是应用程序在使用更多应用程序后崩溃的原因。在heapshot中,我使用了“扩展详细信息”,它显示了我100%的在线信息。您仍然需要编辑您的问题,以包括使用
dataForImage
的所有代码。没有抢注。。。我没有使用ARC…我的应用程序从相机拍摄照片,在保存我在上面调用的保存方法时,您说您将
myInfo
添加到数组中,然后释放
myInfo
。您需要向我们显示该代码,并且您需要向我们显示从数组中删除
MyInfo
对象的代码。