1

コードで以下の行を使用しました

  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 用に記述されたカテゴリです。

4

1 に答える 1