android应用对图片处理算是比较频繁的了,尤其是在程序加载大量图片和高分辨率图片时,最容易产生oom异常,下面是个人平时一些省内存加载方法方法一:public Bitmap decodeFile(String filePath) { Bitmap bitmap = null; ...
分类:
移动开发 时间:
2015-06-16 21:13:32
阅读次数:
133
前言:
上面两篇博客已经讲了图片的基本知识和图片的加载方法及优化,所有的这些优化都是为了避免应用出现OOM这个问题。一个好的应用程序不仅要健壮不能出错还要方便用户使用,对于用户来说你的应用不仅要美观还要流畅,很快的呈现给他想要的。很快的加载图片除了加载的优化外还需要缓存,下面这篇博客将会讲图片缓存。
什么是缓存?
缓存技术原理就是把用户访问的所有对象看作一个全集,经过算法标记哪些...
分类:
移动开发 时间:
2015-06-16 19:14:20
阅读次数:
188
Bitmap调用recycle? When?Bitmap有一个recycle方法。含义很easy,恢复Bitmap空间。Q 1: Bitmap有调用recycle方法的必要性?A: 嵌入式系统总是格外注重空间的问题,不小心的话就会有OOM。可是应用层使用java的android平台有其天然的优势【j...
分类:
其他好文 时间:
2015-06-15 13:00:25
阅读次数:
107
最近在看《深入理解Java虚拟机》,书中给了几个例子,比较好的说明了几种OOM(OutOfMemory)产生的过程,大部分的程序员在写程序时不会太关注Java运行时数据区域的结构:感觉有必要通过几个实在的例子来加深对这几个区域的了解1)Java堆所有对象的实例分配都在Java堆上分配内存,堆大小由-...
分类:
编程语言 时间:
2015-06-14 12:18:45
阅读次数:
157
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38140505自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果。的确HorizontalS...
分类:
移动开发 时间:
2015-06-10 19:23:46
阅读次数:
239
android里面对于图片的处理一直是个比较烦人的问题,烦人之处在于一个不小心,就有可能造成OOM。
最近碰到一个关于图片上传的问题,图片上传我们肯定要保证2点,一点是图片的大小尽可能的小,但是图片的清晰度又要有一定的保证,基于此我们有两个方向,一个是将图片缩小,第二个是将图片的质量降低。
对于缩小图片,我们的方法不少,可以裁剪,可以缩放;而另一种降低图片的方法就是降低质量,使用这个方法后图片...
分类:
移动开发 时间:
2015-06-09 17:16:32
阅读次数:
138
操作系统内存配置overcommit_memory问题描述:在安装Redis时,会得到如下警告:#WARNINGovercommit_memoryissetto0!Backgroundsavemayfailunderlowmemorycondition.Tofixthisissueadd‘vm.overcommit_memory=1‘to/etc/sysctl.confandthenrebootorrunthecommand‘sysctlvm.overcom..
分类:
其他好文 时间:
2015-06-08 19:54:07
阅读次数:
980
当使用android的Drawable时,一开始我是用下面的方法实现的:Drawable.createFromStream(is, srcName);但是经过调试每次程序都会crash掉,报OOM错误,错误都会打到上面这行代码,搞了老半天,发现BitmapFactory.decodeStream比D...
分类:
其他好文 时间:
2015-06-08 17:12:21
阅读次数:
93
一、问题描述
使用LruCache、AsyncTask实现批量图片的加载并达到下列技术要求
1、从缓存中读取图片,若不在缓存中,则开启异步线程(AsyncTask)加载图片,并放入缓存中
2、及时移除无效的异步线程;保证异步加载图片时不会乱序
3、只对当前屏幕可见部分进行缓存、异步加载图片
4、优化性能杜绝OOM
二、案例介绍
案例实现照片墙...
分类:
移动开发 时间:
2015-06-05 15:52:05
阅读次数:
229
我们知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。因此在展示高分辨率图片的时候,最好先将图片进行压缩,压缩后的图片大小应该和用来展示它的控件大小相近,这样可以兼顾显示效果和内存占用。
BitmapFactory.Options这个类,有一个字段叫做 inJustDecodeBounds 。SDK中对这个成员的说明是这样的:
I...
分类:
移动开发 时间:
2015-06-05 10:16:30
阅读次数:
206