将图像加载到位图时内存不足异常和应用程序崩溃

时间:2019-05-31 05:49:18

标签: java android out-of-memory android-bitmap

我正在将图像上传到服务器,然后再将图像加载到位图,在这里我遇到了内存不足的异常,我的应用崩溃了。我可以删除例外而不调整图像大小吗?任何解决方案都会有所帮助。 在这里,我没有将图像设置为任何imageView或drawable,而只是将图像上载到服务器。

@Override
public  Map<String, DataPart> getByteData() {
Map<String, DataPart> params = new HashMap<>();
Log.e(TAG, "ImageUri--" + uri);
try { myBitmap=
MediaStore.Images.Media.getBitmap(
                        getApplicationContext().getContentResolver(), uri);
long imagename = System.currentTimeMillis();
params.put("file", new DataPart(imagename + ".jpg", getFileDataFromDrawable(myBitmap)));
} catch (FileNotFoundException e) {
Toast.makeText(CameraActivity.this,"TryAgain!!",Toast.LENGTH_SHORT).show();
e.printStackTrace();
} catch (IOException e) {
  e.printStackTrace();
    }
return params;
}

实际结果=

 myBitmap=
MediaStore.Images.Media.getBitmap(
                        getApplicationContext().getContentResolver(), uri);

正在生成异常。 致命异常:java.lang.OutOfMemory异常

未能分配51916812字节分配,其中包含16777216个空闲字节和43MB,直到OOM为止

预期结果= 没有错误或崩溃

0 个答案:

没有答案