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,更新裏面的內容.    
 
            }
 
這種方法,可以解決掉拖動卡頓的現象.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章