メモリ不足エラーが発生しています:
以下は私のコードです:
public static Bitmap decodeSampledBitmapFromResource(InputStream inputStream,int reqWidth, int reqHeight) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
try {
while ((len = inputStream.read(buffer)) > -1 ) {
baos.write(buffer, 0, len);
}
baos.flush();
InputStream is1 = new ByteArrayInputStream(baos.toByteArray());
InputStream is2 = new ByteArrayInputStream(baos.toByteArray());
// First decode with inJustDecodeBounds=true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inDither=false;
options.inPurgeable=true;
options.inInputShareable=true;
options.inJustDecodeBounds = true;
// BitmapFactory.decodeResource(res, resId, options);
BitmapFactory.decodeStream(is1,null,options);
// Calculate inSampleSize
options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
return BitmapFactory.decodeStream(is2,null,options); // error at this line
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
この行でエラーが発生しています
BitmapFactory.decodeStream(is2,null,options);
このエラーが発生しますOut of memory on a 3250016-byte allocation.
これに関する多くの投稿を見てきましたが、この場合はまだ解決策を見つけることができません。