2015-10-05 88 views
1

我有一個RecyclerView,並通過檢測RecyclerView的結尾從我的數據庫中加載十個項目。 我的問題:加載項目後,當我滾動,RecyclerView凍結1-2秒。 我認爲問題來自ImageView中的每個項目。 每個負載之後,最後添加的列表適配器這樣的:arrayAdapter.list.addAll(questions);然後arrayAdapter.notifyDataSetChanged();Android - 加載後的RecyclerView凍結

我adpater:

+2

holder.questionImage.setImageBitmap(問題。圖片);你必須在後臺線程上做到這一點,可能會是很好的使用緩存檢查這裏https://developer.android.com/training/displaying-bitmaps/cache-bitmap.html – Pavan

+0

這樣的事情? 'yourImageView.post(新的Runnable(){@Override 公共 無效的run(){// 在此處設置的下載圖像 } });' – Okn

+0

不與其他線程,同樣的問題的工作。它凍結時,我滾動 – Okn

回答

0

由於帕文

public class SetImageBitmap extends AsyncTask<Void, Void, Bitmap> { 
    Question q; 
    ImageView iv; 

    public SetImageBitmap(Question q, ImageView iv) { 
     this.q = q; 
     this.iv = iv; 
    } 

    @Override 
    protected Bitmap doInBackground(Void... params) { 
     return q.image; 
    } 

    @Override 
    protected void onPostExecute(Bitmap bitmap) { 
     iv.setImageBitmap(bitmap); 
     iv.setVisibility(View.VISIBLE); 
    } 
}