【发布时间】:2013-02-05 17:31:36
【问题描述】:
我正在使用以下代码加载一堆 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。这个 Instruments 分析基本上是说我在代码中无能为力,这是系统库延迟吗?
编辑:我的问题不再是关于我的 collectionView 的这个特定用例。一般是关于仪器的。如果我在屏幕截图中选择了选项,并且应用程序显示明显滞后,但时间分析器没有,我可以在我的代码中做些什么来提高速度吗?我想我更一般地询问时间分析器、设置及其结果。如果所有的延迟都归因于较低级别的代码或系统框架,我能做些什么吗?
【问题讨论】:
-
你能稍微描述一下你的collectionView吗?我猜它的单元格尺寸很小?
-
请看我的编辑。谢谢。
标签: iphone uiimageview instruments uicollectionview