listView懶加載解決快速拖動卡屏問題
快速拖動 上下拖動很卡的原因 listView中有大量的圖片,每張圖片在生存時候會花200毫秒,
解決:利用listView的懶加載 :當拖動時候不去加載ListView中的條目,當用戶停止的時候才
真正去加載這個條目
判斷ListView的狀態,如果ListView是處於滾動狀態,返回一個假的View對象,gieView()執行很快
只有當listView處於靜止狀態的時候,纔去真正去更新裏面顯示的內容
5.listview的懶加載
判斷listview的狀態,如果listview是處於滾動狀態.返回一個假的view對象.
只有當listview處於靜止狀態的時候 ,纔去真正的更新裏面所顯示的內容.
1.在activity創建的時候,獲取到所有的縮略圖...
2.在adapter的getview的方法裏面判斷 當前listview是否處於滾動狀態.
滾動狀態可以通過 listview的setonscroollistener的方式 處理
onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case OnScrollListener.SCROLL_STATE_IDLE:
滾動= false;
break;
case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
滾動= true;
break;
case OnScrollListener.SCROLL_STATE_FLING:
滾動= true;
break;
如果是滾動狀態 就只返回,縮略圖.
並且把真實圖片的id存儲起來.並且可以儲存當前imageview的引用.
3.當滾動狀態變成靜止的時候 再去真正的加載每個真實的圖片.
在case OnScrollListener.SCROLL_STATE_IDLE:
//獲取第一個listview可見的條目的位置
int first = listview.getFirstVisiblePosition();
// 獲取listview裏面顯示的條目的個數.
int count = view.getChildCount();
通過for循環 更新所有的圖片
for (int i=0; i<count; i++) {
拿到圖片的id,和imageview,更新裏面的內容.
}
這種方法,可以解決掉拖動卡頓的現象.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.