-3

カメラで画像を撮影し、SDカードに保存します。保存された画像は、SDカードから次のようなimageViewにアップロードする必要があります。

myBitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
ImageView _image=(ImageView)view.findViewById(R.id.imageCarte);
_image.setImageBitmap(myBitmap);

しかし、私はこのエラーがあります:

05-05 08:23:20.593:E / AndroidRuntime(1936):原因:java.lang.OutOfMemoryError:ビットマップサイズがVMバジェットを超えています。

誰でも私を助けることができます。ありがとう

4

1 に答える 1

0

モバイルで BitmapFactory を使用すると、メモリを消費するプロセスになります。この問題は、大量の画像を連続してデコードしようとすると発生します。Java と同様に、変数 " myBitmap " に割り当てられたメモリを解放するオプションはありません。したがって、これらのタイプの変数は、使用後に null に設定されていることを確認してください。

こちらも使ってみてください

System.gc() to clear the garbage collection.

「_image.setImageBitmap(myBitmap);」の実行中にエラーが発生した場合 行を表示する前に画像サイズを縮小してみてください

于 2012-05-05T09:55:11.520 に答える