Зареждам куп 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. Улових това забавяне със следните екранни снимки на инструменти:
Има голямо разминаване между това забавяне (изпитано от потребителя и показано на графиката) и действителното дърво на повикванията по-долу, което не показва забавяне. Зареждам 500k jpg във всяка клетка на collectionView. Този анализ на инструментите всъщност казва ли, че не мога да направя нищо в кода и това е забавяне на системната библиотека?
РЕДАКТИРАНЕ: Въпросът ми вече не е за този конкретен случай на употреба с моя collectionView. Става дума за инструменти като цяло. Ако съм избрал опциите, които правя в екранната снимка, и приложението показва значително забавяне, но профилиращият време не го прави, има ли нещо, което мога да направя в моя код, за да увелича скоростта? Предполагам, че питам по-общо за профилиращия време, настройките и техните резултати. Ако цялото забавяне се приписва на код от по-ниско ниво или системни рамки, мога ли да направя нещо по въпроса?