我有几个带有UIImageViews的UIViews。当我第一次显示视图 时,在显示之前会有明显的滞后(0.5秒左右)。再次显示一切正常。
我设法通过添加所有视图然后删除它们来解决这个问题。像这样:
[self performSelectorOnMainThread:@selector(addAndRemoveAllViews)
withObject:nil
waitUntilDone:NO];
该函数循环遍历所有视图,[addSubview:view]
后跟[view removeFromSuperview]
。这似乎会在未显示的情况下触发图像加载。
问题:
更新
图像是从NSData
创建的,如下所示:
[[UIImageView alloc] initWithImage:[UIImage imageWithData:rawData]];
答案 0 :(得分:2)
图像看起来很可能比图像视图大。如果可能,将其缩小到图像视图所需的大小。
初始延迟是从存储中加载图像,之后您使用的是缓存版本,这就是它更快的原因。