2009-08-29 9 views
0

私は各セルに大きな画像を持つ少数(〜5)のセルしか保持しないテーブルビューを持っています。すべてのセルをプリロードしてパフォーマンスを向上させることは可能ですか? 今は、各セルが読み込まれるときにわずかなジャークがあります。 ありがとう!滑らかなスクロールを可能にするために、すべてのテーブルビューセルをプリロードすることは可能ですか?

答えて

2

すべてのセルを事前に作成するように直接TableViewに指示することはできませんが、遅い部分が画像を読み込んでいると仮定すると、画像をあらかじめロードしてNSArrayに保持することができます何かを作成してから、それらを細胞に入れるのは速いはずです。

+0

画像をプリロードするにはどうすればよいですか? – Jonah

1

はい。あなたはできる。そしてそれは記憶を食べるが、パフォーマンスは最大化される。

しかし、セルが大きすぎないことが確実であることがわかっているときにのみ行います。また、それらをリリースすることを忘れないでください。

0

私のテーブルビューがうまくスクロールしていなかった理由は、写真がどのように読み込まれていたかに起因することが分かりました。 imageNamedを使用して画像をロードすると、すべての問題が解決されました。

それはあなたの問題であり、それはあなたがそれらをリサイズするプロセス/から画像をアクセスしているだ、とあなたは事前にそれを行う、またはそれを作るためにどちらかの必要があるテーブルビューのセルを作成していない
UIImage *theImage = [UIImage imageNamed:[[appDelegate.myDelegateDict objectAtIndex:indexPath.section] objectForKey:@"MainImage"]]; 
+0

はい、イメージをメモリに保持し、解放しません。だから、たくさんの画像を持っていると、最終的にアプリがクラッシュする可能性があります。 –

0

非同期なので、ダウセルの読み込みやスクロールが遅くなりません。

私はこの正確なことを経験しました。ソリューションについては、this question and answerを参照してください。

関連する問題