2017-08-12 25 views
0

キャプチャされた画像を表示するアプリを作っています。まず、スナップされたイメージをStringのstatic ArrayList(以下のコード:methods.locationPath)に保存し、これらの文字列をビットマップに変換し、Bitmapの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

PicassoやGlideなどの画像読み込みライブラリを使用して、必要に応じて画像を非同期に読み込みます。 – CommonsWare

答えて

1

代わりのビットマップオブジェクトに画像のパスを変更します。イメージのパスを直接渡すことができます。アダプタクラスで画像を設定します。

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

       @Override 
       public void onError() { 

       } 
      }); 
関連する問題