我有一系列需要在短时间内显示的图像(PNG 序列)。总共有 31 个 PNG,每个文件大小约为 45KB。我已经用以下代码加载了它们:
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.03s的重复定时器)
但是我发现当我第一次调用图像时,它非常滞后。除了第一个外观,其他外观都没有问题。
它与预加载图像有关吗?还是我的图像文件太大?