网上关于这个方面的文章也不少,基本的思路是线程+缓存来解决。下面提出一些优化: 1、采用线程池 2、内存缓存+文件缓存 3、内存缓存中网上很多是采用SoftReference来防止堆溢出,这儿严格限制只能使用最大JVM内存的1/4 4、对下载的图片进行按比例缩放,以减少内存的消耗 具体的代码里面说明
分类:
移动开发 时间:
2016-02-27 19:21:48
阅读次数:
258
引用计数法标记清除法复制法(新生代,适合垃圾对象多,存活对象少)标记压缩法(老年代)相当于标记清除算法+内存碎片整理强引用,软引用(SoftReference),当堆空间不足时回收,软引用不会引起内存溢出弱引用(WeakReference),发现即回收虚引用垃圾回收器:串行回收器:-XX:..
分类:
其他好文 时间:
2016-02-16 15:11:06
阅读次数:
139
我们知道java语言提供了4种引用类型:强引用、软引用(SoftReference)、弱引用(WeakReference)和幽灵引用(PhantomReference),与引用密切相关的,还有一个引用队列ReferenceQueue。引用和引用队列的关系,对于垃圾回收来说非常重要,学习垃圾回收机制,...
分类:
编程语言 时间:
2015-09-29 16:54:35
阅读次数:
171
1)强引用 :创建一个对象并把这个对象直接赋给一个变量,eg :Person person = new Person("sunny"); 不管系统资源有么的紧张,强引用的对象都绝对不会被回收,即使他以后不会再用到。2)软引用 :通过SoftReference类实现,eg : SoftReferenc...
分类:
编程语言 时间:
2015-09-12 14:39:32
阅读次数:
205
SoftReference一般是用来创建缓存的,缓存我们经常使用,例如:我们在浏览器中浏览了一个网页后,点击跳转到新的网页,我们想回去看之前的网页,一般是点击回退按钮,那么这个时候之前的网页一般就是放在缓存中了。如果网页太多,有时候就会造成回不去的情形,这说明如果内存不够用了,就删除了这些缓存。类似...
分类:
其他好文 时间:
2015-08-31 16:48:44
阅读次数:
305
实现图片缓存也不难,需要有相应的cache策略。这里我采用 内存-文件-网络 三层cache机制,其中内存缓存包括强引用缓存和软引用缓存(SoftReference),其实网络不算cache,这里姑且也把它划到缓存的层次结构中1.简介现在android应用中不可避免的要使用图片,有些图片是可以变化的...
分类:
移动开发 时间:
2015-08-31 13:23:49
阅读次数:
169
今天看代码,里面有一个类java.lang.ref.SoftReference把小弟弄神了,试想一下,接触java已经有3年了哇,连lang包下面的类都不了解,怎么混。后来在网上查资料,感觉收获颇多,现记录如下。 对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那....
分类:
编程语言 时间:
2015-08-27 18:24:21
阅读次数:
182
Java引用总结--StrongReference、SoftReference、WeakReference、PhantomReference1 Java引用介绍 Java从1.2版本开始引入了4种引用,这4种引用的级别由高到低依次为: 强引用 > 软引用 > 弱引用 > 虚引用⑴强引用(Strong...
分类:
编程语言 时间:
2015-08-27 00:05:25
阅读次数:
281
利用线程阻塞方式,和软引用,以及图片缓存,以及实现listview滑动监听来处理图片的下载操作...
分类:
其他好文 时间:
2015-08-21 23:20:24
阅读次数:
208
PS:其实这一篇和上一篇很类似,都是为了解决内存不足(OOM)这种情况的发生...学习内容:1.对象的引用类.... 最近也是通过项目中知道了一些东西,涉及到了对象的引用类,对象的引用类分为多种,强引用(其实就是正常的引用),使用SoftReference实现软引用,Weak Reference(弱...
分类:
移动开发 时间:
2015-08-19 20:18:32
阅读次数:
128