短時間で表示する必要がある一連の画像があります (PNG シーケンス)。全部で 31 個の PNG があり、それぞれのファイル サイズは約 45 KB です。私はすでに次のコードでそれらをロードしました:
imgArray = [[NSMutableArray alloc] init];
for(int i = 0; i <= 30; i++) {
NSString * filename = [NSString stringWithFormat:@"img_000%.2d.png", i];
UIImage *temp = [UIImage imageNamed:filename];
[imgArray addObject:temp];
[temp release];
temp = nil;
}
画像を表示するために次のコードを使用します。
CGImageRef image = [(UIImage *)[imgArray objectAtIndex:imgFrame] CGImage];
imgLayer.contents = (id)image;
if(imgFrame < 29) {
imgFrame++;
} else {
imgFrame = 0;
imgLayer.hidden = TRUE;
[imgTimer invalidate];
}
imgLayer はCALayer
です。(imgTimer は間隔 0.03 秒の繰り返しタイマーです)
しかし、画像を呼び出すと、最初は非常に遅いことがわかりました。初登場以外は問題ありません。
画像のプリロードに関連していますか?または、画像のファイル サイズが大きすぎますか?