2

(パフォーマンスとリサイクルを向上させるために)データを表示したいのですがListView、の各行にはListView垂直方向LinearLayoutがありますが、すべてのLinearLayoutにいくつあるかは保証されていませんTextViews

現在、私はパターンを使用しており、のメソッドでにViewHolderビューを動的に追加しています。注:で重複するビューを排除するために、ビューを追加する前に呼び出しています。LinearLayoutgetView()ListViewlinearLayout.removeAllViews()LinearLayout

Prolem に動的ビューの削除と追加を追加したため、パフォーマンスが非常に遅くなりましたListView

この状況にどのように対処できるか他のアイデアはありますか?ではなくScrollView、垂直を優先しますか?LinearLayoutListView

助けてください。

私の側からさらに説明が必要な場合はお知らせください。

4

1 に答える 1

2

getView()パフォーマンスが低下している場合は、メソッド内の処理をできるだけ多く取り除くことをお勧めします。getView()アイテムが作成される(新規またはリサイクルされる)たびに呼び出され、すべてのビューを削除して再描画すると、リサイクルの目的が損なわれます。

データを解析してアダプターに送信する前に単純化できる場合は、getView()メソッドの負荷が軽減され、パフォーマンスの問題が発生する可能性があります。

編集:M-WaJeEhが上で述べたように、物事を制御することは、膨らむものの数を変更するよりも、私の経験Visibility.VISIBLEVisibility.GONEは通常うまく機能します。

于 2013-03-06T16:04:50.687 に答える