如何有效的使用位图,避免OOM,Android Training说了很明白了,主要有四点:
1、有效的利用大图片
根据实际应用情况,加载位图,不要浪费。比如,在一个100*100的ImageView,完全加载一个1000*1000的位图,这就真的很浪费了。
应该根据实际大小需求,计算出inSampleSize再去Decode位图,这样很省内存。
2、在非UI线程处理位图
这个大家都懂,不多说。
3、使用缓存
利用LruCache和DiskLruCache,两者结合使用,就像多级缓存一样。在实际使用中,根据需要计算出缓存空间大小,同事避免类似横竖屏切换,界面重新初始化,导致缓存失效。
4、有效管理位图内存
这个需要对不同的系统版本采用不同的处理方法。2.3.3以下系统,bitmap的数据和对象是储存在两个不同的地方,我们需要自己调用recycle进行回收。3.0以上可以reused位图内存。
画了一个图,希望读者更好理解。
说什么都是虚的,注意实际开发中灵活运用吧。
最近Google I/O 2013 很多干货,整理了一个播放列表:http://t.cn/zTsgFb3 youtube上的,需要穿越,大家懂的。
欢迎大家交流,转载请注明出处!
参考:http://developer.android.com/training/displaying-bitmaps/index.html
------END-----
相关推荐
BMP位图查找(高效)模块,里面含有实例。用于找出一张图片的一小部分的相同位置。
sql学习 位图索引之如何高效即席查询.sql
对于小的位图显示,并没有什么太多的技术问题。而对于大的(几百兆甚至上千兆)的位图显示,为了提高显示速度,在显示之前就必须要进行必要的处理。本文为了提高大位图的显示速度,采用了浏览位图哪里就把哪里的图像...
将二进制位图转化为光滑的矢量闭合曲线,简单、高效、高鲁棒性
一种高效的基于位图序列模式挖掘算法
恒率电源 WRD110S51-40W隔离式高效开关电源模块资料脚位图pdf,恒率电源 WRD110S51-40W隔离式高效开关电源模块资料脚位图
SVGcode 是一个渐进式 Web 应用程序,可让您将 JPG、PNG、GIF、WebP、AVIF 等光栅图像转换为 SVG 格式的矢量图形。它使用文件系统访问 API、异步剪贴板 API、文件处理 API 和窗口控件覆盖自定义
-高效位图碰撞及重叠矢量检测 -A星,深/广度,2D/3D/路点,寻路方式统一处理。 -二次贝尔法曲线,按长度切割和计算法线,光滑曲线拟合(过点或者不过点) -SWF解析器,从ByteArray中播放声音,直接控制AVM1的动画类容...
针对这些问题,结合数据采集流程,提出了使用基于压缩的字对齐位图索引算法来在线实时构建索引。这种方式不仅克服了离线构建索引方式时,文件访问、FITS头读取和解析FITS头等操作带来的大量额外时间消耗问题,而且有...
bitmap-elixir:Elixir中使用二进制和整数的位图实现。 快速空间高效的数据结构用于查找
C#实现bitmap 高效地排序 标记存储
使用DXGI高效抓取c++源程序循环捕获桌面图像,并将它们保存为当前目录中的位图图像。
算法基本思路是:将图像中使用的RGB颜色值分布到层状的八叉树中。八叉树的深度可达9层,即根节点层加上分别表示8位的R、G、B值的每一位的8层节点。较低的节点层对应于较不重要的RGB值的位(右边的位),因此,为了...
2.紧密位图。若无必要,家族成员间不插入空列。 3.尽可能使用数组操作,减少直操作Excel表,加快速度。 4.代码中包含删除空白列的功能(以数组操作实现)。 经实际测试,在我的机器上,家族成员为1500时,“聚宝瓶...
本文主要讲了列存数据库的现状、列存数据库的中用到的技术、列存数据库使用的环境,又介绍了一个列存数据库的产品:Sysbase IQ,最后展望了列存数据库的未来。是一篇很好的介绍列存数据库技术的一篇文章。
采用垂直二进制位图映射事务数据库,提出了用二进制位图生成一种新的NBFP-Tree结构,并据此提出了一种新的频繁模式挖掘算法NBFP-mine.该算法不产生候选集,对NBFP-Tree结构进行深度优先遍历一次,就可从 NBFP-Tree...
本工具可以轻松将BMP图片转换为黑白位图、RGB565、ARGB565等单片机常用格式,也可将转换后的图片还原为电脑可查看的PPM格式。是你为单片机转换图片、制作动画的实用工具。核心代码采用C语言编写,灵活高效,同时方便...
关于频繁使用的位图设置的示例: Redis报告的正在使用的内存(与redis-server进程的RSS匹配):129.48G。 将相同的数据集在相同的负载下迁移到独立的位图服务器:RSS报告为大约300M。 安装 对于Linux,您可以从...
这是一个在WPF下的绘图功能代码,能过写位图,实现顶级的绘图性能,多线程架构,项目代码完整,可直接运行。可以修改适用于自定义控件。