特別なサイズの UIImage を作成する簡単な関数があります:
- (UIImage*)imageWithSize:(CGSize) imSize
{
UIGraphicsBeginImageContext( imSize );
float r = 0.5f;
float g = 0.5f;
float b = 0.5f;
CGContextRef cxt = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(cxt, r, g, b, 1.0);
CGContextSetRGBFillColor(cxt, r,g,b, 1.0);
CGContextFillRect(cxt, CGRectMake(0.0, 0.0, imSize.width, imSize.height));
UIImage* retImg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return retImg;
}
そして、この方法で何度も呼び出します(ARCを使用しています):
for(int i=0;i<3000;i++)
{
UIImage* im = [self imageWithSize:CGSizeMake(256,192)];
}
メモリの警告を数回受け取り、iPhone4 でクラッシュします;(単純な機能に何か問題がありますか?