私はいくつかやってパフォーマンスを改善するために管理:PNGファイルはiOSの最適化されていたように
私はこれを行うには良い方法があります確信しているが、許容できる性能が上記の結果。
-(CGImageRef)newCGImageRenderedInBitmapContext //this is a category on UIImage
{
//bitmap context properties
CGSize size = self.size;
NSUInteger bytesPerPixel = 4;
NSUInteger bytesPerRow = bytesPerPixel * size.width;
NSUInteger bitsPerComponent = 8;
//create bitmap context
unsigned char *rawData = malloc(size.height * size.width * 4);
memset(rawData, 0, size.height * size.width * 4);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(rawData, size.width, size.height, bitsPerComponent, bytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
//draw image into bitmap context
CGContextDrawImage(context, CGRectMake(0, 0, size.width, size.height), self.CGImage);
CGImageRef renderedImage = CGBitmapContextCreateImage(context);
//tidy up
CGColorSpaceRelease(colorSpace);
CGContextRelease(context);
free(rawData);
//done!
//Note that we're not returning an autoreleased ref and that the method name reflects this by using 'new' as a prefix
return renderedImage;
}
私はアニメーションシーケンスをより詳細に制御する必要があるため、 'UIImageView'は十分ではありません。例えば、フレーム1〜10をループし、次にフレーム11〜20を再生し、次にフレーム21〜30をループする。 –
これらをそれぞれ別々のUIImageViewsに分割してみませんか? –