0

listviewで形成されたタブに膨大なビューを表示しています。ListViewは、BaseAdapterを拡張するアダプターからデータを取得します。タブを前後に移動するたびに、PagerはListViewでビューを何度も作成する傾向があり、貴重なCPUを浪費します。

OK、BaseAdapterのgetViewでparentView.getChild(atIndex)を使用してみましたが、ListViewをスクロールするとビューが台無しになります。

質問、ビューをキャッシュしてパフォーマンスを最適化する方法はありますか?

よろしく、

4

1 に答える 1

2

ListViewはすでにビューをリサイクルしています。リサイクルされたビューは、アダプターのgetViewメソッドのViewパラメーターになります。

また、大量のfindViewById呼び出しを回避するために、ViewHolderパターンの使用を検討する必要があります。詳細については、このリンクを参照してくださいhttp://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html

編集: ListViewsを最適化するために今夜私が見ていたいくつかの参照があります:

http://lucasr.org/2012/04/05/performance-tips-for-androids-listview/

http://www.youtube.com/watch?v=wDBM6wVEO70

于 2012-05-01T04:47:43.100 に答える