安卓有效避免oom
来源:互联网 发布:广数系统g76怎么编程 编辑:程序博客网 时间:2024/05/22 10:30
android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。
一般来说避免oom的方法有这么4种:
1.严格控制内存 bitmap对象在java和C中都有内存占用。即使java回收了bitmap对象,C中的是不会自动释放的。所以需要及时调用recycle函数并去掉强引用,然后提醒虚拟机回收;
2.使用缓存,缓存也分内存缓存和硬盘缓存;
3.捕获异常。一旦加载图片产生异常,捕获并且把默认的图片显示上去;
4.压缩图片。BitmapFactory的options是否自适应这个属性设为true,这样,decodeFile时得到的对象是空的,但是能得到该图片的大小,此时再判断是否需要压缩。
这里非常不建议大家使用createScaledBitmap这个函数,经过测试该函数生成的bitmap对象动辄3M以上,十分危险。
比较好的方法是decodeStream,可以避开java底层函数createdBitmap。decodeFile也不错,然后靠Matrx生成合适大小的图片。
- 安卓有效避免oom
- 安卓有感
- 安卓有效解决大图片内存溢出问题
- 安卓如何加载一张大图,避免OOM
- 安卓有道词典开发实例
- 请教安卓有没有开发框架的
- 安卓有序广播以及系统广播
- 避免oom异常
- 如何避免图片oom
- 安卓中如何避免oom
- 自定义HorizontalScrollerView 避免OOM
- 图像压缩,避免OOM
- 可以避免oom
- android 避免OOM
- 如何避免OOM总结
- 如何避免OOM 异常?
- android如何避免oom
- 如何避免 OOM 异常
- 程序员之路--WCM网站开发(002-TRSWCMV6.5安装)
- GetVersion和GetVersionEx
- Zimbra邮件服务器证书过期解决办法
- C++子类调用父类覆盖的函数
- 数据/图像处理编程 gsl,mpi,boost 常用库 下载和安装配置
- 安卓有效避免oom
- 【VB/.NET】Converting VB6 to VB.NET 【Part I】【之四】
- 易错
- linux 下安装MySQL客户端和服务器
- 使用深度优先算法与广度优先算法解决油田合并问题
- 避免css中文字体在浏览器中解析成乱码
- (多年后回头学习c#)被遗忘的世界 一 匿名类 与 扩展方法
- kruskal模板
- 字符串匹配算法实现(两个字符串中含有的字符和个数都相同)