Android ListView滑動卡頓優化

若適配器中包含圖片,在滑動時由於不停調用Adapter的getView方法,會使得界面卡頓。這裏我自己在adapter中實現AbsListView.OnScrollListener接口,添加了部分判斷邏輯。
這裏寫圖片描述
這裏解釋下原理:isLoadAccess表示滾動是否已結束,結束時調用notifyDataSetCahnge方法更新頁面。
在滾動時不斷更新可見Item的首尾下標值。
verifyPositionNeedRequestGetView方法意思很清楚,表示Position位置是否在可見範圍內。
這裏寫圖片描述
注:這裏的QuickAdapter是AbsBaseAdapter的子類
我這裏是基於萬能適配器稍微修改了點東西,其實convert方法就是getview的抽取方法。可以看到,首先通過isLoadAccess判斷滾動是否停止,是則加載圖片(Glide圖片加載庫的使用請自行百度);否則,判斷當前position是否在可見範圍內,否則把圖片位置置空。不置空的話,你會發現圖片會重複,這涉及到複用問題,我也懶得多解釋了。
當然了,別忘了最重要的一句:

list_act_picture_depot.setOnScrollListener(adapter);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章