【Android】BitmapFactory.Options内存溢出

 时间:2026-02-15 15:00:23

1、OOM(Out Of Memory) 就是内存溢出。

java.lang.OutOfMemoryError: Failed to allocate a 6741804 byte allocation with 200220 free bytes and 195KB until OOM

【Android】BitmapFactory.Options内存溢出

2、Uri originalUri;

ContentResolver resolver = mContext.getContentResolver();

Bitmap bitmap =

MediaStore.Images.Media.getBitmap(resolver,originalUri);

【Android】BitmapFactory.Options内存溢出

3、进入手机【图库】代码方法如下

Intent intent=new Intent(Intent.ACTION_GET_CONTENT);intent.addCategory(Intent.CATEGORY_OPENABLE);intent.setType("image/*");startActivityForResult(intent, CHOOSE_PICTURE);

返回到onActivityResult进行处理

【Android】BitmapFactory.Options内存溢出

4、这个方法的确可以用,但是出现了一个很无语的事情。

(大图片内存溢出,上面的方法设置了缓冲区,但是是系统分配,不能设置大小。超过3M左右就容易报错。)

也是要感叹现在手机厉害,随便一个图片拍出来就接近3M左右了。

【Android】BitmapFactory.Options内存溢出

5、解决这个问题的方法

通过以下代码获取,图片路径。

【Android】BitmapFactory.Options内存溢出

6、获取本地自定义图片

BitmapFactory.Options opts=new BitmapFactory.Options();

【Android】BitmapFactory.Options内存溢出

  • android 内存溢出解决
  • BitmapFactory如何实现图片压缩
  • linux内存溢出怎么解决
  • Bitmap 使用时候注意什么
  • 使用Bitmap类创建内存位图
  • 热门搜索
    绿萝叶子发黄是什么原因 脑卒中是什么意思 什么电影好看 什么是有理数 spc是什么意思 两个木一个耳朵旁是什么字 cl是什么意思 什么是云计算 雪花像什么的比喻句 ruby什么意思