2017-08-12 98 views
0

所以我正在製作一個顯示捕獲圖像的應用程序。我首先將捕獲的圖像保存在String的靜態ArrayList中(在下面的代碼中:methods.locationPath),然後將這些字符串轉換爲位圖並將它們保存在位圖的ArrayList中(在下面的代碼中:圖像)。加載位圖需要的時間太長

for (String path : methods.locationPath) { 
    Bitmap bitmap = BitmapFactory.decodeFile(path); 
    images.add(bitmap); 
} 

gr = (GridView) findViewById(R.id.grid); 
GridAdapter gridAdapter = new GridAdapter(this, values,images); 
gr.setAdapter(gridAdapter); 

然而,這種方法花費的時間太長。有沒有辦法通過儘可能小的更改來使此循環更快?

謝謝

+0

使用圖像加載庫,如畢加索或滑翔圖像,根據需要異步加載的圖像。 – CommonsWare

回答

1

而不是將圖像路徑更改爲Bitmap對象。可以直接通過圖像的路徑和上適配器類設置像

Picasso.with(mContext).load(new File(imageUrl)).resize(100,100).into(myViewHolder.imageView, new Callback() { 
       @Override 
       public void onSuccess() { 
         } 

       @Override 
       public void onError() { 

       } 
      });