私は、サンプルアプリケーションのPhotoScrollerに似たアプリを持っています。スクロールビューでたくさんの大きな画像(2048x1536)私はその部分負荷効果が気に入らないので、タイルアプローチを使用していません。私は一度に全体のイメージを表示したいと思います。バックグラウンドスレッドでイメージをロードしています。初めてUIImageViewで読み込まれたイメージを使用しようとすると、すでにメモリに入っていても0.5秒間メインスレッドがブロックされます。大きなUIImageを表示すると、すでにメモリに入っていてもジッタが発生します。
私はこの遅れがどこから来ているかを見るためにプロファイラを使用しましたが、私はそこに有用な情報を見つけることができませんでした。
iOSで初めて画像データを使用しているときなどにコピーされますか?どういうわけかバックグラウンドスレッドでもそれを行うことはできますか?
編集:私は再びそこに戻ってスクロールして、同じUIImage秒の時間を使用する場合、
UIImageViewが引き続き動作する場合は、[UIImageをCALayerに直接追加することもできます。](http://stackoverflow.com/questions/1564940/how-to-display-an-image-or-uiimage-with -an-plain-calayer) –
2048x1536イメージをメモリにロードするのは愚かです。つまり、1イメージに12MbのRAMを使用します。 ImageIOを使用してイメージをターゲットサイズに縮小して表示します。 – Nyx0uf