ドキュメントから:
イメージの増分ロード
非常に大きな画像がある場合、または Web 経由で画像データを読み込んでいる場合は、インクリメンタル イメージ ソースを作成して、画像データを蓄積しながら描画できるようにすることをお勧めします。イメージを CFData オブジェクトからインクリメンタルにロードするには、次のタスクを実行する必要があります。
- 画像データを蓄積するための CFData オブジェクトを作成します。
- 関数 CGImageSourceCreateIncremental を呼び出して、インクリメンタル イメージ ソースを作成します。
- 画像データを CFData オブジェクトに追加します。
- 関数 CGImageSourceUpdateData を呼び出し、CFData オブジェクトとブール値 (bool データ型) を渡して、データ パラメーターにイメージ全体が含まれるか、部分的なイメージ データのみが含まれるかを指定します。いずれの場合も、データ パラメータには、その時点までに蓄積されたすべてのイメージ ファイル データが含まれている必要があります。
- 十分な画像データが蓄積されたら、CGImageSourceCreateImageAtIndex を呼び出して画像を作成し、部分画像を描画してから解放します。
- 関数 CGImageSourceGetStatusAtIndex を呼び出して、画像のすべてのデータがあるかどうかを確認します。画像が完成している場合、この関数は kCGImageStatusComplete を返します。画像が完成していない場合は、完成するまで手順 3 と 4 を繰り返します。
- 増分イメージ ソースを解放します。