カスタムレイアウトを実装しています。これは異質なグリッドであり、タイルがテキストを含む画像であるという事実を除いて、以下のようになります。さらに、アニメーション効果があります。基になるデータが変更されるたびに (項目の追加、削除、並べ替え)、アニメーションが発生し、各タイルが新しい位置に移動します。そして、これは完全に機能します。
全体が の中にありScrollView
ます。ユーザーがアプリを起動すると、いくつかのタイル (最大 20 個) が表示されます。彼がスクロールの一番下に到達すると、新しいタイルが読み込まれます。タイルはRelativeLayouts
.
私の質問は、ビューのリサイクルに関するものです。複数のサブビューを受け入れる、ListView
またはGridView
リサイクル メカニズムを持つ典型的なレイアウト。スクロール時に、ビューが表示されていない場合、ビューはリサイクルされ、ユーザーに再び表示されるようになると元に戻ります。
そのような動作を実装する必要がありますか? そうしないとどうなりますか?新しいデータが到着したときに、サブビュー(レイアウトの表示部分にないこれらも)を新しい位置にアニメーション化する必要がある場合があるため、実装することさえ可能ですか。
または、ビットマップが可視領域外にある場合は、ビットマップをリサイクルする必要がありますか? これはおそらく、OutOfMemory にヒットする可能性がある場所ですよね。