社区
Android
帖子详情
android中bitmap释放问题
kaonilaomua
2011-10-24 08:37:59
我项目需要从服务器上接收图片(图片很多),我把它转成bitmap 类型显示,但我多接收几次就报内存溢出错误(每接收一次就清楚前面的图片),我现在时把这次的bitmap对象都放到list中,下载接收之前就循环把list中的bimap用recycle()方法清楚,可还是报内存溢出,各位大侠帮帮我
...全文
1008
18
打赏
收藏
android中bitmap释放问题
我项目需要从服务器上接收图片(图片很多),我把它转成bitmap 类型显示,但我多接收几次就报内存溢出错误(每接收一次就清楚前面的图片),我现在时把这次的bitmap对象都放到list中,下载接收之前就循环把list中的bimap用recycle()方法清楚,可还是报内存溢出,各位大侠帮帮我
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liufengt2011
2011-12-14
打赏
举报
回复
都不行
kaonilaomua
2011-11-30
打赏
举报
回复
我没有解决,上面几位说的都很有道理。我试试
asparation
2011-11-28
打赏
举报
回复
public Bitmap dealImage(byte[] imgByte){
Bitmap bitmap;
float imagew = 240;
float imageh = 180;
BitmapFactory.Options bitmapFactoryOptions = new BitmapFactory.Options();
bitmapFactoryOptions.inJustDecodeBounds = true;
bitmap = BitmapFactory.decodeByteArray(imgByte, 0, imgByte.length, bitmapFactoryOptions);
int yRatio = (int)Math.ceil(bitmapFactoryOptions.outHeight/imageh);
int xRatio = (int)Math.ceil(bitmapFactoryOptions.outWidth/imagew);
if (yRatio > xRatio) {
bitmapFactoryOptions.inSampleSize = yRatio;
}
else {
bitmapFactoryOptions.inSampleSize = xRatio;
}
bitmapFactoryOptions.inJustDecodeBounds = false;
bitmap = BitmapFactory.decodeByteArray(imgByte, 0, imgByte.length, bitmapFactoryOptions);
return bitmap;
}
ahaso
2011-11-28
打赏
举报
回复
if(bitmap!=null&&bitmap.isRecycled())
{
bitmap.recycle();
bitmap=null;
//System.gc();
}
这段有问题啊,bitmap.isRecycled())为true时候才执行recycle语句。
maoguo147
2011-11-25
打赏
举报
回复
释放内存的代码有问题
应该是
if((bitmap!=null)&&(bitmap.isRecycled()==false))
{
bitmap.recycle();
bitmap=null;
}
另外,Android给每个进程的堆大小为16MB,如果超过,就会报错
QQ515311445
2011-11-25
打赏
举报
回复
我碰到过内存溢出的问题,eclips也是报图片内存溢出,我最后查到是因为线程没结束,被开了多次就这样了,保证线程能退出,我的问题就解决了,不知道你是不是也是因为别的地方引起的
heguikun
2011-11-25
打赏
举报
回复
楼主怎么办,我也是,求个解
kaonilaomua
2011-11-03
打赏
举报
回复
图片最大的20多k
不算大图吧
kaonilaomua
2011-11-01
打赏
举报
回复
再顶顶
ako312
2011-11-01
打赏
举报
回复
200张多大图片哦?
kaonilaomua
2011-11-01
打赏
举报
回复
for(int i=0;i<200;i++)
{
song.setImage(getBitmapFromByte(image));
if(bitmap!=null&&bitmap.isRecycled())
{
bitmap.recycle();
bitmap=null;
//System.gc();
}
}
kaonilaomua
2011-11-01
打赏
举报
回复
song.setImage(getBitmapFromByte(image));
if(bitmap!=null&&bitmap.isRecycled())
{
bitmap.recycle();
bitmap=null;
//System.gc();
}
//字节转换成Bitmap
public Bitmap getBitmapFromByte(byte[] temp){
if(temp != null){
bitmap = BitmapFactory.decodeByteArray(temp, 0, temp.length);
return bitmap;
}else{
return null;
}
}
ako312
2011-11-01
打赏
举报
回复
要不贴代码上来看一下?
kaonilaomua
2011-11-01
打赏
举报
回复
我就是这样的啊,还是不行啊
ako312
2011-11-01
打赏
举报
回复
recycle 好像没什么效果,赋为null试吧
bitmap 直接定义全局吧,不要每次都重新定义
kaonilaomua
2011-11-01
打赏
举报
回复
天啊,怎么没人看下啊
kaonilaomua
2011-10-25
打赏
举报
回复
自己顶
Android
中
SurfaceView截屏
在
Android
开发
中
,`SurfaceView`是一个非常重要的视图组件,尤其在处理视频播放、游戏渲染等高性能图形操作时,它的优势在于拥有独立于主线程的渲染机制,能避免阻塞UI更新。然而,由于其特殊的性质,直接通过常规...
Android
批量下载图片并缓存,非常流畅
LruCache是
Android
SDK
中
提供的一种基于LRU算法的内存缓存,它可以用来存储对象,比如位图(
Bitmap
)。使用LruCache的好处在于,它可以帮助我们避免频繁地创建和销毁
Bitmap
对象,从而减少内存分配和回收的开销,提高...
Android
完美实现图片圆角和圆形( bug修复后)
3. 内存泄漏:确保在适当的地方
释放
Bitmap
资源,避免内存泄漏。 总结起来,通过创建自定义的ImageView并重写`onDraw()`方法,我们可以实现
Android
中
图片的圆角和圆形效果。同时,修复可能遇到的bug,如图像拉伸、...
android
图片缩放放大
`
Bitmap
`是
Android
中
表示图像数据的对象,它包含了图片的实际像素数据。可以使用`
Bitmap
.createScaled
Bitmap
()`方法来创建一个新的缩放后的`
Bitmap
`,传入原`
Bitmap
`、目标宽度和高度以及是否保持原图比例的布尔值...
Android
加载缩略图示例代码
Bitmap
是
Android
系统
中
用于表示图像数据的对象,它包含了像素数据以及图像的宽高信息。在处理缩略图时,我们通常会用到
Bitmap
的缩放功能,避免加载原图导致内存溢出(Out Of Memory,OOM)。 1. **加载策略**: - ...
Android
80,472
社区成员
91,384
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章