我正在使用以下代码加载一堆 UIImages(它们是本地的并与应用程序一起预加载):
NSString*plistPath = [[NSBundle mainBundle] pathForResource:@"images" ofType:@"plist"];
NSArray *array = [NSArray arrayWithContentsOfFile:plistPath];
NSMutableArray *finalArray = [[NSMutableArray alloc] initWithCapacity:array.count];
for(int i=0;i<array.count; i++) {
[finalArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"%@",[array objectAtIndex:i]]]];
}
然后在collectionView中:
cell.cellImage.image = [finalArray objectAtIndex:indexPath.row];
该collectionView的呈现存在巨大滞后。我用以下仪器屏幕截图捕捉到了这种滞后:
该延迟(由用户体验并显示在图表中)与下面的实际调用树之间存在重大脱节,显示没有延迟。我在 collectionView 的每个单元格中加载 500k jpg。这个仪器分析基本上是说我在代码中无能为力,这是系统库延迟吗?
编辑:我的问题不再是关于我的 collectionView 的这个特定用例。一般是关于仪器的。如果我在屏幕截图中选择了选项并且应用程序显示明显滞后,但时间分析器没有,我可以在我的代码中做些什么来提高速度吗?我想我更一般地询问时间分析器、设置及其结果。如果所有的延迟都归因于较低级别的代码或系统框架,我能做些什么吗?