java - 加载图像时出错 - "Bitmap size exceeds VM budget"

标签 java android

我不断收到此错误,错误指向此代码:

bitmap = BitmapFactory.decodeByteArray(pic1 , 0, pic1.length);

图片来自sqlite数据库,用户从手机目录中选择图片后存储。 当我想检索图片时,出现错误。 根据我的阅读,这是因为内存泄漏。 有什么建议/解决方案吗?

更新

当我在将图像保存到数据库之前添加以下代码时,问题就解决了。

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

opt.inSampleSize = 8;

bitmap = BitmapFactory.decodeFile(path,opt);

感谢那些回复/回答的人:)

最佳答案

试试这个

BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inTempStorage = new byte[16*1024];

Bitmap bitmapImage = BitmapFactory.decodeFile(imgpath, opt);

关于java - 加载图像时出错 - "Bitmap size exceeds VM budget",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10221258/

相关文章:

java - 是否有用于简单、异步、HTTP 集成 I/O 的框架?

java - Guice - 当您只知道接口(interface)时如何获取实例

android - Wifi Direct Invitation 后 WifiP2pDevice 状态保持为 INVITED

android - 在 View.OnDragListener 上获取拖动的阴影位置

android - 无法从 React Native 安装已签名的 apk

Java Tapestry : Clearing a count value after a t:if test

java - 使用正则表达式 java 进行文本分割

java - 使用多部分形式改造上传图像但不获取文件路径

android - 如何在 Tasker 的 HTTP Get 操作中将超时设置为零?

java - 如何只解析 HTML 中的文本