Android トレーニングの UI スレッドから章処理ビットマップを読んでいます。この章では、作成者は、AsyncTask と組み合わせて使用した場合の GridView の同時実行の処理について説明します。
前のセクションで説明したように、ListView や GridView などの一般的なビュー コンポーネントを AsyncTask と組み合わせて使用すると、別の問題が発生します。メモリを効率的に使用するために、これらのコンポーネントは、ユーザーがスクロールするときに子ビューをリサイクルします。各子ビューが AsyncTask をトリガーする場合、それが完了したときに、関連付けられたビューがまだ別の子ビューで使用するためにリサイクルされていないという保証はありません。さらに、非同期タスクが開始される順序が完了する順序であるという保証はありません。
上記の段落について、2 つの質問があります。
(1) GridView の子ビューは何ですか? 次の図を例にとると、すべてのグリッドは子ビューですか?
(2) 「各子ビューが AsyncTask をトリガーする場合、それが完了したときに、関連付けられたビューがまだ別の子ビューで使用するためにリサイクルされていないという保証はありません。」と混乱しています。誰かが詳細を説明できますか? たとえば、grid[1,1] は AsyncTask をトリガーします。AsyncTask が終了すると、なぜ問題が発生するのでしょうか?