Когда выпускать UIImage?

Я использую следующий код для рисования фрагмента изображения

UIImage* subIm = getSubImage( large, rect );
[subIm drawInRect:self.bounds];

, где getSubImage определяется следующим образом

    UIImage* getSubImage(UIImage* uim, CGRect rc){
      CGImageRef imref  = CGImageCreateWithImageInRect(uim.CGImage, rc); 
      UIImage*   sub = [UIImage imageWithCGImage:imref];
      CGImageRelease(imref);
        NSLog(@"subimage retainCount=%d", [sub  retainCount]); // is 1
      return sub;
   }//getSubImage

Код правильный?

Безопасно ли "CGImageRelease" imref?

Имеется ли sub "CGImageRetained" imref?

Должен ли я выпустить subIm (при этом я получаю сообщение об ошибке)?

Содержится ли subIm в пуле автозапуска , и, если да, то как мне это узнать?

В общем, можно ли проверить, содержится ли объект в пуле автозапуска (в целях отладки)?

5
задан ragnarius 28 December 2010 в 13:21
поделиться