NSOperation
mainQueue
に関連するプロセスがUITableView
のスクロールにどのように影響しないのだろうか。NSOperationメインキューを使用すると、UITableViewのスクロールがスムーズになりますか?
私のコードでスクロールスクロールの主な理由は、各セルがサーバーからイメージを取得する必要があるため、各セルの読み込みが遅いことです。 それで、私はGCDを使って別のスレッドを作成して、各セルによって与えられたフェッチプロセスを処理していました。一方、メインスレッドは排他的にtableviewのスクロールを処理しますが、これは高速スクロールを確実にするために理解したものです。
最近、私はサンプルコードがNSOperation
を使用していることに気付きました。 テーブルビューのセルがNSOperation
mainQueue
を使ってロードされるように、私はその部分を模倣しました。 私は理解しているように、メインスレッドがセルの読み込みとテーブルビューの両方のスクロールを処理するので、tableviewのスクロールパフォーマンスに課税すると予想しました。
しかし、驚くべきことに、それはありません。セル読み込みとテーブルビューの両方のスクロールのパフォーマンスは完璧です。 私はまだこれがどのようにできるのだろうかと思います。
私は間違っていると思います。 あなたはそれが何であるか教えていただけますか?
サンプルコードへのリンクを提供します。 – trojanfoe
関連するコードで質問を更新してください。 – rmaddy
ニージャーク:GCD!=スレッド;ブロッキングイメージフェッチを使用しないでください。スレッドを妨害するブロッキングイメージフェッチは、ランループに接続された非ブロッキングイメージフェッチより効率が悪いです。 – Tommy