最初に、画像のかなり複雑なスクロール メカニズムを実装しました。これにより、1 つのスクロール ビューで (理論的には) 数十万をスクロールできます。これは、すべての UIImageView を再利用しながら、スクロール時に小さな部分をプリロードすることによって行われます。現在私がしているのは、新しく作成された UIImage オブジェクトを再利用された UIImageViews に割り当てることだけです。
新しい画像データを渡すことで、これらの UIImage オブジェクトを再利用することも可能であれば、より良いかもしれません。
問題は、現在 -imageNamed: メソッドを使用していることです。ドキュメントには、画像をキャッシュすると書かれています。
-imageNamed でこの場合に見られる問題: 画像がプリロード範囲からスクロールされるため、画像はもう必要ありません。ユーザーがスクロールしてスクロールしてスクロールしている間に何千もの画像をキャッシュしようとすると、まずいでしょう。新しい画像データを UIImage オブジェクトに詰め込んで再利用する方法を見つけたら、キャッシュされた古い画像はどうなるでしょうか?
したがって、興味深い方法が 1 つ残っています: -initWithContentsOfFile:
これは画像をキャッシュしません。また、-autorelease を使用していません。これは、この場合に適しています。
この場合、-initWithContentsOfFile: を使用する方がよいと思いますか?