android如何下载1mb图像文件并设置为ImageView

Jyo*_*sna 5 android memory-management image

我正在尝试下载1mb图像文件,然后保存到位图以填充imageview.但显示错误

06-13 13:39:48.149: ERROR/AndroidRuntime(1782):
java.lang.OutOfMemoryError: bitmap size exceeds VM budget
Run Code Online (Sandbox Code Playgroud)

如何下载大图?

And*_*lva 3

我也经历过同样的问题。在将下载的位图设置为您的位图之前ImageView,您必须根据您的位图的宽度和高度压缩位图ImageView

你必须创建一个像这样的缩放位图,

 bm1=Bitmap.createScaledBitmap(bm, 300, 300,true);
imgView.setImageBitmap(bm1);
Run Code Online (Sandbox Code Playgroud)

或者像这样压缩你的位图,

            OutputStream fOut = null;
                        File file = new File(strDirectoy,imgname);
                            fOut = new FileOutputStream(file);

                        bm1.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
                            fOut.flush();
                            fOut.close();

                MediaStore.Images.Media.insertImage(getContentResolver(),file.getAbsolutePath(),file.getName(),file.getName());
Run Code Online (Sandbox Code Playgroud)