【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内存溢出

© 2026 途途旅游
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com