2012-03-16 9 views
0

私はtableViewを持って、各行に約20行の4つのグラフがあります。 私はテーブルをスクロールしようとすると、私は既存のグラフを削除し、各行の新しいグラフを構築します。スクロールするUITableView slow

この操作では、テーブルビューのスクロールが非常に遅くなります。 新しいグラフを読み込むだけでなく、スクロールを高速化するためのアイデア。

+0

スクロール中にグラフのデータが変更されていますか? –

+0

はい、行ごとにデータが異なります。 – user676446

+0

データが同じセルに対して更新されているかどうか(グラフを再描画する必要がある場合) –

答えて

1

新しいビューを作成するのは高価な操作です。だから、それらを再利用するのが最善です。これを行うには、既存のビューをデキューしてリサイクルします。

また、例えば、最適化技術をカバーセクション「サブクラスのUITableViewCell」を見て、具体的にTable View Programming Guide for iOS

を見てみましょう

適切な場合にのみ、セル全体を描画します。サブクラスの UITableViewCellは、そのコンテンツをすべてdrawRect:メソッドの に描画できますが、このアプローチの潜在的な欠点に注意する必要があります。 カスタム図面はセルのレイヤーに適用され、 ビューで覆い隠すことができます。たとえば、グループ化された スタイルのテーブルビューでは、背景ビュー(backgroundViewプロパティ)は、drawRect:で実行された 描画を不明瞭にします。青い選択の背景は、 も図面を覆い隠します。また、 アニメーション中に発生するカスタム図面(テーブルビューが編集モードに入り、編集モードを終了するときなど) はパフォーマンスを大幅に低下させます。

スローテーブルのスクロールは、共通の問題であるので、あなたは、スタックオーバーフローにここに覆われた同様の質問をたくさん見つけることができるでしょう。

その他の考慮すべき点は、データを提供する方法がボトルネックになる可能性があることです。インストゥルメントは、問題の特定に役立ちます。

関連する問題