Try {BitmapFactory. options options = new BitmapFactory. options (); options. inJustDecodeBounds = true; // After setting true, the bitmap is not actually loaded into the content. Only the necessary parameter mBitmap = BitmapFactory is obtained. decodeFile (path, options); // path is the file path options. inJustDecodeBounds = false; int be = (int) (options. outHeight/(float) 200); // set the height of the opened image to 200 pixels if (be <= 0) be = 1; options. inSampleSize = be; mDstBmp = BitmapFactory. decodeFile (path, options); // options. inJustDecodeBounds = false actually loads the image to the memory} catch (Exception e) {Toast. makeText (getApplicationContext (), "image opening error", Toast. LENGTH_SHORT ). show ();}
In this way, you can scale the image by pixel to avoid the possibility of OOM when a large image is loaded.