1

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

位图 = BitmapFactory.decodeByteArray(pic1 , 0, pic1.length);

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

更新

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

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

opt.inSampleSize = 8;

位图 = BitmapFactory.decodeFile(path,opt);

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

4

2 回答 2

0

尝试这个

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

Bitmap bitmapImage = BitmapFactory.decodeFile(imgpath, opt);
于 2012-04-19T05:13:05.643 回答
0

这可能是由于内存泄漏,但也可能是您使用了太多内存。大图像很容易占用内存。如果遇到问题,请尝试缩小图像并查看是否仍然遇到这些错误。尝试使用内存分析器工具查找可能的泄漏。

于 2012-04-19T03:34:07.127 回答