Bitmap图片处理、OOM异常
文章平均质量分 79
CLxp891009
这个作者很懒,什么都没留下…
展开
-
Android Bitmap内存限制问题
最近改bug时遇到了一个问题,一款游戏在被别的程序中断后再返回时会被意外终止,通过看log发现是由于图片编解码是申请内存失败的原因,接下来google了一下,发现android中这样的问题比较多,最后找到一个方法,将android dalvik的heapsize由原来默认的16M提高到32M,解决了这个问题,下面是参考的文章。 转自http://www.7dot9.com/2010/08/andr转载 2013-08-15 09:36:22 · 689 阅读 · 0 评论 -
Android虚拟机不允许单个程序中的Bitmap占用超过8M的内存
经过信息检索,我弄清了这样一个事实:Android虚拟机不允许单个程序中的Bitmap占用超过8M的内存,一旦超过了就会报错,而报的错正是bitmap size exceeds VM budget.现在好了,这一切看似如此简单:要想程序的bitmap小于8M,要么就在用了bitmap后立即回收这部分内存,要么就压缩图片的大小啊。第一种方法--及时回收bitmap内存:一转载 2013-08-15 09:47:27 · 1265 阅读 · 1 评论 -
Android中图片占用内存的计算
在Android开发中,我现在发现很多人还不会对图片占用内存进行很好的计算。因此撰写该博文来做介绍,期望达到抛砖引玉的作用。 Android中一张图片(BitMap)占用的内存主要和以下几个因数有关:图片长度,图片宽度,单位像素占用的字节数。一张图片(BitMap)占用的内存=图片长度*图片宽度*单位像素占用的字节数注:图片长度和图片宽度的单位是像素。图片(BitMap)占用转载 2013-08-13 19:23:13 · 559 阅读 · 0 评论 -
BitmapFactory.Options
BitmapFactory.Options这个类的信息:http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html;其相关信息如下:这个表格是从android sdk文档里摘出来的,简单看一下说明就明白是什么意思了。下面我们回到我们的主题上来:怎样获取图片的大小转载 2013-08-13 16:32:21 · 797 阅读 · 0 评论 -
android内存优化之图片优化
对图片本身进行操作。尽量不要使用setImageBitmap、setImageResource、BitmapFactory.decodeResource来设置一张大图,因为这些方法在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageVi转载 2013-08-15 09:49:10 · 560 阅读 · 0 评论 -
Android处理图片OOM的若干方法小结
众所周知,每个Android应用程序在运行时都有一定的内存限制,限制大小一般为16MB或24MB(视平台而定)。因此在开发应用时需要特别关注自身的内存使用量,而一般最耗内存量的资源,一般是图片、音频文件、视频文件等多媒体资源;由于Android系统对音频、视频等资源做了边解析便播放的处理,使用时并不会把整个文件加载到内存中,一般不会出现内存溢出(以下简称OOM)的错误,因此它们的内存消耗问题暂不在转载 2013-08-15 09:51:43 · 637 阅读 · 0 评论