次のコードを使用して、多数の 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 を使用したこの特定の使用例に関するものではなくなりました。楽器全般についてです。スクリーンショットで行っているオプションを選択していて、アプリが大幅な遅延を示しているのに時間プロファイラーが表示していない場合、速度を上げるためにコードでできることはありますか? 時間プロファイラー、設定、およびそれらの結果について、より一般的に質問していると思います。すべての遅延が下位レベルのコードまたはシステム フレームワークに起因する場合、それについて何かできることはありますか?