0

テキスト付きのサムネイルのグリッドを表示するアダプターがあります。これらのサムネイルは、読み込みが重い、描画するのが重いなどです。

サムネイル グリッドビューは常に新しいコンテンツで満たされています。たとえば、2 秒ごとに 1 つの新しいアイテムが表示されます。

私のアダプターには、新しいアイテムを挿入するために外部から呼び出す関数があります。

public void postNew(Item i) {
    arrayStuff.put(i);
    notifyDataSetChanged();
}

私の現在のアプローチでは、グリッドビューに新しい要素を挿入すると、追加されたアイテムが表示されなくても、すべてが更新されます。特にユーザーがグリッドビューを閲覧していて新しいコンテンツが到着した場合、更新プロセスは一種のエクスペリエンスを壊します。

これをどのように改善することをお勧めしますか? 軽い「notifyDataSetChanged()」などはありますか?

4

3 に答える 3

1

おそらく何らかの形式のキャッシュを実装する必要があるように思えます。目に見えない画像をメモリにロードするのはあまり良いメモリ管理ではありません。理想的には、画像が表示される (または表示される) ときにキャッシュから取得します。

別の方法として、新しいコンテンツが到着したときに視覚的なインジケーターを追加し、「プルダウンして更新」などを実装してから、アダプターで notifyDataSetChanged() を呼び出してコンテンツを更新することもできます。画面のコンテンツが絶えず変化している場合、追跡するのが難しいため、数秒ごとに更新しても優れた UX が得られないことは想像できます。

于 2013-06-15T04:09:01.487 に答える
0

複数のイメージビューと適切なテキストビューを追加するカスタム ビュー (実行時に動的) を作成する必要があります。コンテナー ビューは LinearLayout にする必要があります。その後、特定のビューまたは要素を更新できます。

于 2013-06-15T04:40:29.670 に答える