OutOfMemoryError 例外が発生する理由はわかっていますが、バイト配列をビットマップに変換する最善の方法があります。以下のコードを使用しましたが、大きなバイトがアプリを強制的に閉じて OutOfMemoryError 例外を発生させます。
そして、私はAPIを持っています。それは、バイト配列を返すだけです。
Bitmap bmp = BitmapFactory.decodeByteArray(bytearray, 0, bytearray.length);
Bitmap bitmap = BitmapFactory.decodeByteArray(bitmapbytes , 0, bitmapbytes .length);
戻り値 デコードされたビットマップ、または画像をデコードできなかった場合は null。
これが私にとってうまくいったことです:ちなみに写真は画像の文字列です。
byte[] imgbytes = Base64.decode(photo, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(imgbytes, 0,
imgbytes.length);
imageupload.setImageBitmap(bitmap);
AQuery ライブラリを使用して画像を読み込むと、サイズ変更、表示などに役立ち、最も一般的なメモリ リークを回避できます。このツールは次の場所にあります: http://code.google.com/p/android-query/