ListView優化詳解

2021-07-13 05:42:03 字數 1210 閱讀 1503

一、為什麼需要優化?

二、listview優化的核心-view的復用

getview方法中有三個引數position標識listview正繪製第幾個item。

convertview相當於view控制項的快取裝置,通過layoutinflater可將item的布局檔案壓縮成乙個檢視賦值給convertview,最後convertview返回給listview進行繪製。

三、listview優化的主要方法

convertview重用

2、利用viewholder避免反覆例項化控制項

四、listview優化的其它方面:

盡量讓itemview的layout層次結構簡單,這是所有layout都必須遵循的。

getview()中盡量少做其它事情,不要有耗時操作,可以考慮滑動時不要載入。

當listview中有幾個不同型別的item,從而需要建立不同的view,這時要利用好getitemviewtype來復用view,但注意item的型別不要太多。

五、後記:

ListView巢狀ListView優化

在做業務時候,乙個listview顯示多種資料型別,我們想到的方法是listview在巢狀乙個listview,對於子listview 佔父listview的一行,就解決了問題,但是這樣的邏輯是不是有點奇怪呢?第一,父listview的長度size需要加1,因為增加了一行放子listview pub...

listview效能優化(2)

參考 工作原理 1.listview針對list中每個item,要求adapter給其乙個檢視 getview 2.乙個新的檢視被返回並顯示 如果我們有上億個item要顯示怎麼辦?為每個專案建立乙個新檢視?no!這不可能 android實際上提供了快取檢視 android中有個叫做recycler ...

listView的復用優化

公司在做乙個需求,a 頁面有 lsitview,b頁面是系統設定,當b 中設定 黑白版切換時,再開啟a頁面時,a的 listview中的item 也要改變背景顏色。這裡提供我的做法 1 在getview中,將 new 出來的item 裝入乙個 集合中 2 當黑白版切換時,這時候切換到a頁面,a進行判...