1

TL:DR

大きな画像でも Photo.app を高速化するために、Apple はどのような手法を使用していますか?

ロングバージョン

スクロール ビューに関する Apple の WWDC 2010 ビデオを見て、Photo.app のページネーション動作とメモリ使用率の低下を再現する方法を学びました (PhotoScroller デモ)。うまく機能しますが、画像は必要なときにのみ読み込まれるため、別の画像にページネーションしようとすると、JPEG の解凍中にアプリがロックされます。

同じビデオは、パフォーマンスを向上させるためのタイリング手法を示していますが、カメラから撮影してアプリに保存した写真を使用しているため、それは実行可能ではないようです (各写真の複数のコピーを異なる解像度で作成すると、消費量も多くなります)。多くのスペース - 4MB 対 27MB)。また、iExplorer を使用すると、Photo.apps には各写真のコピーしかないことに気付きました (ギャラリー用の小さなサムネイル コピーすらありません)。

Apple が Photos.app をこれほど高速にするために使用した技術は何ですか? アプリで同じパフォーマンスを得るにはどうすればよいですか?

質問にコードがないため、これがここにあるのか、プログラマーにあるのか、少し混乱していますが、FAQ には、アルゴリズムの質問は Stackoverflow の一部であり、ここのタグの方が適切であると書かれています。

4

2 に答える 2

1

したがって、1 つの画像だけをフルスクリーンで表示する場合は、次のようにすることができます。

WWDC11 セッション 104 - Advanced Scroll View Techniques では、無限スクロールとその方法について説明しています。基本的な考え方は、ビューをスクロールし、スクロール後に (UIImage) ビューをスクロール ビュー内に再配置して、中央に表示されるか、レイアウトの制約が何であれ、新しい UIImage を にロードすることUIImageViewです。1 つしかないためUIImageView、メモリの消費量はかなり少ないはずです。ただし、画像の読み込み時間がどのように動作するかはわかりません。

おそらくUIImage、現在の画像の左右の隣をプリロードし、UIImageView再配置後にそれをロードすると、ここで scrollView が役立ちます。

于 2012-10-22T12:13:09.167 に答える