2011-03-24 5 views
0

iPhone用のPhotoViewerを作成したいと思います。PhotoViewerとしてのScrollView、必要な場合にのみ画像をロード

私は既に、UIImageViewsをプログラムで追加してページングを有効にしたScrollViewを作成しました。私が見ている問題は、100 Imagesのようなものがあれば、ScrollViewにすべて追加してパフォーマンスとメモリを大量に消費するということです。

どのようにパフォーマンスを向上させるでしょうか?私は、次の2ページの画像を読み込んで、2つの画像の後に画像をスクロールする前に解放することを考えました。

私はUIScrollViewのサブクラスを作成し、その名前をUIPhotoScroller(またはそのようなもの)と考えました。しかし、私はまた、MainWindowの中にUIViewを表示して、Imagesに関する情報を表示したいと思っています。 UIViewをSubclassから見えるようにすることは可能ですか?

あなたは本当にそれで私を助けます。事前にありがとうございます:D

+0

「サブクラスから表示できるUIView」はどういう意味ですか? –

+0

ユーザーがScrollView-Subclassにある画像をタップすると、XIB内のScrollView-Subclassにある情報でUIViewを表示したい –

答えて

0

1セルにつき1枚の写真でUITableViewを行うのはいかがですか?セルがデータソースから要求されているときは、スピンナーを表示し、キューに入れられたNSOperationにイメージをロードさせ、行が完了するとその行をリフレッシュさせます。
NSQueueを使用すると、同時実行操作の量を制御できるため、パフォーマンス/応答性を完全に制御できます。メモリ/ページングなどが少ないときに古いキャッシュイメージを削除することができます。

水平スクロールが必要な場合はhorizontal UITableViewへの解決策があります。

0

three20 libraryを見ましたか?写真のような素晴らしい写真アプリのようなビューアを作成する例があります.320ライブラリで作業するのはかなり簡単です。

希望すると便利です。

1
  1. NSCacheを作成します。
  2. 特定のイメージが必要な場合は、そのイメージをキャッシュから取得してみてください。それがない場合は、ディスクからロードしてキャッシュに保存します。ファイル名は適切なキーです。
  3. メモリ警告が表示されたら、キャッシュ自体を空にするように指示します。
  4. キャッシュの設定によって、キャッシュのエントリの一部が定期的に解放されます。これは良いことですが、特定の合計メモリサイズに調整することをお勧めします。あなたが望むように動作するまで、パラメータを調整します。メモリ使用量を確認するには、Instrumentsを使用します。
関連する問題