0

私はAndroidの初心者ですが、表示したい大きなテーブルについてどうしたらよいか考えています。

現在、 100個のTableRowsを使用してTableLayoutをテストしています。ファイナルテーブルには、数千のオーダーで、はるかに多くの行があります。 TableLayoutはビューであるため、この場合の正しい、または推奨されるアプローチは何でしょうか。私が持っているすべてのデータを含むビュー(TableLayout)を使用するか、ユーザーが上下にスクロールするときに、表示可能なウィンドウで行を動的に追加/削除します。

さまざまなアプローチの長所と短所は何ですか?例?

4

1 に答える 1

1

それらすべてを同時に画面に表示することの最も明らかな欠点は、OSが基本的に、何千ものViewオブジェクトをすべて同時にメモリに保持する必要があることです-メモリに関して非常に高価です。

一方、スクロール時のビューの作成と破棄はプロセッサに負荷がかかり、UI の速度が大幅に低下します。

主な代替手段(およびAndroidがそのListViewコントロールで使用するもの(ちなみに、おそらく代わりに使用する必要があるもの)は、画面を満たすのに十分なビューのみを作成することです(さらに、両側に少しパディングを加えます)。 1 つは上部から移動し、下部で再利用して、まったく新しいビューを作成するのではなく、そのプロパティを変更します。

上記は複雑なロジックですが、なぜ車輪を再発明するのでしょうか? カスタム アダプターを使用したリストビュー コントロールは、ユーザーが試みているようにデータをレンダリングする以上の能力を備えている必要があり、大変な作業は既に行われています。

于 2012-04-24T17:35:56.397 に答える