My application crashes, showing this in logcat:
java.lang.OutOfMemoryError: (Heap Size=39047KB, Allocated=19932KB) at android.graphics.BitmapFactory.nativeDecodeFile(Native Method) at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:373) at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:443) at com.mApp.mobileapp.mActivity.onActivityResult(mActivity.java:196) at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:153) at android.app.Activity.dispatchActivityResult(Activity.java:4752) at android.app.ActivityThread.deliverResults(ActivityThread.java:3449) at android.app.ActivityThread.handleSendResult(ActivityThread.java:3503) at android.app.ActivityThread.access$1100(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1320) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:156) at android.app.ActivityThread.main(ActivityThread.java:5109) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:991) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:758) at dalvik.system.NativeStart.main(Native Method) While running this code:
String selectedImagePath = data.getStringExtra("imageByteCode"); try { File imageFile = new File(selectedImagePath); Bitmap bitmap = BitmapFactory.decodeFile(imageFile .getAbsolutePath());//line 196 ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); base64code = selectedImagePath; mImage.setImageBitmap(bitmap); } catch (Exception e) { } Since i was catching it, i never expected it to crash the app. selectedImagePath is the path of the selected image on the SD card, which never exceeds 3m.b but Heap Size=39047KB, Allocated=19932KB ??
Thank You