各セルにかなり大きな画像をロードする uitableview があり、セルの高さは画像のサイズによって異なります。スクロールのパフォーマンスはまずまずですが、ぎくしゃくすることがあります。
FieryRobot ブログで見つけた次のヒントを見つけました。
glassy-scrolling-with-uitableview
more-glassy-scrolling-with-uitableview
uitableview のスクロール パフォーマンスを改善するためのヒントはありますか?
各セルにかなり大きな画像をロードする uitableview があり、セルの高さは画像のサイズによって異なります。スクロールのパフォーマンスはまずまずですが、ぎくしゃくすることがあります。
FieryRobot ブログで見つけた次のヒントを見つけました。
glassy-scrolling-with-uitableview
more-glassy-scrolling-with-uitableview
uitableview のスクロール パフォーマンスを改善するためのヒントはありますか?
UITableViewCell
'sで描画します。サブビューは絶対に避けてください(または、標準のアクセシビリティ機能が必要な場合は、コンテンツビューの)drawRect:
drawRect:
UITableViewCell
(コンテンツビューがある場合も同じです)UITableView
例/ドキュメントで推奨されているように、reusableCellIdentifier機能を使用しますUIImage
くださいUITableViewCell
、ペン先を使用せず、代わりにコードで記述してください。Nibファイルをロードするよりもはるかに高速です。Tweetieの背後にいる開発者はこれについて広範囲に記述しており、そのアプリでどのように行われたかを示すコードをいくつか持っています。基本的に、彼/彼女はテーブルセルごとに1つのカスタムビューを提唱し、それを手動で描画します(他のオプションの中でも、Interface Builderでサブビューするのではなく)。
また、AppleはTableViewSuiteチュートリアルでTableViewの独自のサンプルコードを更新しました(おそらくこれに対応して?)
UITableView スクロールの最大のパフォーマンス キラーは、任意のセル ビュー レイヤーにシャドウを描画することです。そのため、スクロール パフォーマンスが重要な場合は、基本的にメイン スレッドの速度が低下しない限り、シャドウを実行しないでください。
受け入れられた回答のどれも影とレイヤーについて言及していないので、これは言わなければならないと思った. :+)
UITableView
スクロールのパフォーマンスに関する問題は、他の回答で既に説明されている手法を使用して解決できます。ただし、多くの場合、パフォーマンスの低下は、本質的に誤ったもの、または反復的なものによって引き起こされます。
がセルをUITableView
再利用するという事実と、各セルが独自のイメージを必要とする可能性があるという事実が相まって、ソリューションが少し複雑になります。一般的な解決方法から、注意すべき点をまとめます。
[tableView reloaddata]
cellForRowAtIndexPath
に、配列の正しいデータ モデル オブジェクトからデータ (テキスト) を設定するコードを含めます。問題を回避するには、テーブル ビュー内の画像の遅延読み込みに関するこのチュートリアルを参照してください。