1. 程式人生 > >如何提升ListView的效率

如何提升ListView的效率

ListView的優化方案

 首先,預設直接使用ListView的效率是非常低的,在Adapter的getView()方法中,每次都將佈局載入了一遍,當它快速滾動的時候就會效能下降。

  1,在getView()的引數中還有一個View 型別的convertView引數,它用於將之前載入好的佈局進行快取,以便之後的重用。我們可以先判斷converView是否為空,如果為空,則使用LayoutInflater去載入佈局。如果不為null則直接使用convertView進行重用。儘可能少的建立View.

  2、現在已經不會去重複載入佈局了,但是每次在getView()方法中還是會呼叫view的findViewById()方法來獲取一次控制元件的例項。可以新增一個內部類ViewHolder,用於對控制元件的例項進行快取,再使用View的setTag()方法傳入已經快取好的ViewHolder物件。當然獲取這個viewHolder可以直接呼叫view的getTag()方法,把它重新取出來,然後在setImageResource()設定資原始檔。

  3、如果listview需要顯示的item很多,就要考慮分頁載入。比如一共要顯示100條或者更多的時候,我們可以考慮先載入20條,等使用者拉到列表底部的時候再去載入接下來的20條