I am getting out of memory error:
Below is my code:
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; } } i am getting error at this line
BitmapFactory.decodeStream(is2,null,options); I get this error Out of memory on a 3250016-byte allocation.
i have seen many post on this but still unable to find a solution in this case.