android out of memory初探
来源:互联网 发布:网络探针 编辑:程序博客网 时间:2024/06/05 02:02
这是我2013年的第一篇技术博客.
元旦期间看了android sdk里面的docs自带的training,对加载图片引起的out ofmemory一篇仔细阅读了以下.
先这里给大家献丑,把自己读的感受写出来.
原因分析:
由于android的机制是每个app都运行在一个DVM里,android又是多任务的,所以每个DVM都有内存限制.当应用需要的内存超过DVM分配的内存时就会发生out of memory
android给了大家3个方法
1.加载图片前先获取图片的尺寸和type
bitmapfactory的decode方法里面,有个属性设置,可以先不解压图片,而只先获取图片的宽/高和mimetype.根据获取图片的宽高和imageview控件的宽/高再决定是否对原始图片进行缩放,将图片缩放到控件合适的尺寸再进行bitmap的decode,这样可以解决一些out of memory的现象.
2.后台异步处理
图片的deocde肯定不能放到UI线程处理,一定要进行异步处理.这样才不会出现UI等待过长,导致出现那个经典的ANR问题,而force close.
3.图片缓存.
对于一屏需要展示多张图片及切换屏幕的,当图片不再当前屏幕时,可以进行memory cash
--------
先写道这里吧,具体的大家可以到android sdk doc里面查看.我还没有完全读懂,这里抛砖引玉了!
sdk doc是最好的学习.如果英语不好,还可以锻炼英语.
- android out of memory初探
- android out of memory
- android Out of memory
- Android Out Of Memory
- android out of memory
- Android Out of Memory (OOM)
- android out of memory(OOM)
- android bitmap out of memory
- Android out of memory(一)
- Android out of memory(二)
- Android Studio out of memory
- android out of memory(OOM)
- Android bitmaps and out of memory errors
- Android Tablet (3.0) Out Of Memory
- android out of memory oom问题
- Android Create Bitmap Out Of Memory
- 深度分析Android out of memory问题
- android 之java out of memory
- Linux 命令学习示例: tr
- OSCHINA答读者问之三:架构是否就是把问题域理清楚?软件工程各要素可有比重?
- ASP如何实现get和post
- 归并排序--MergeSort
- OSCHINA答读者问之四:如何做好团队建设以及提高个人领导力?
- android out of memory初探
- 关于Java输入输出流的疑问
- VC6.0 INI文件的读写
- centos修改主机名命令
- log4j利用自我构造Properties对象实现初始化打印到控制台
- VB动态加载数组控件
- Countdown to Ext JS 4: Anatomy of a Model
- OSCHINA答读者问之五:小作坊如何实施所谓的软件工程?
- JAVA 调用 cmd.exe 实现批量修改文件名程序