在Android开发中,基本上很少有用到软引用或弱引用,这两个东东若用的很好,对自己开发的代码质量的提高有很大的帮助。若用的不好,会坑了自己。所以,在还没有真正的去了解它们之前,还是慎用比较好。 下面将通过两个Demo来结识软引用和弱引用在开发中的运用。 一.WeakReference:防止内存泄漏...
分类:
移动开发 时间:
2015-06-02 12:48:10
阅读次数:
195
强引用一般程序中通过new创建的对象的引用都是强引用,强引用只有在从根节点不可达的情况下才会被垃圾回收器回收,所以可能产生内存溢出。软引用使用SoftReference创建,弱于强引用,在内存紧张的时候会被回收,不会产生内存溢出。弱引用使用WeakReference创建,弱于软引用,在系统gc时只要发现弱引用直接回收,不会产生内存溢出。虚引用使用PhantomReference创建,最弱的引用类型,...
分类:
编程语言 时间:
2015-05-27 19:09:38
阅读次数:
199
当我们需要大量使用 WeakReference 的时候,可以考虑使用 WeakHashMap 在执行垃圾回收之前,WeakHashMap 和 普通的 HashMap 没有任何区别,但是一旦 执行垃圾回收,WeakHashMap 中的所有 key—value 对都会被清空。import java. u...
分类:
其他好文 时间:
2015-05-26 23:05:37
阅读次数:
295
Fragment保存页面不销毁在用fragmenttabhost做页面切换的时候,发现只要一来回切换fragment,fragment页面就会重新初始化,也就是执行onCreateView()方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态解决方案:在Fragment onCreateView方法中缓存View
代码实现:protected WeakReference<V...
分类:
其他好文 时间:
2015-05-21 22:45:46
阅读次数:
193
package cc.cc;
import java.lang.ref.WeakReference;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
/**
* Demo描述:
* Handler可能导致的内存泄露及其优化...
分类:
其他好文 时间:
2015-05-13 19:49:35
阅读次数:
96
Action代表的是一个具体的加载类。 里有一个静态内部类 static?class?RequestWeakReference<M>?extends?WeakReference<M>?{
????final?Action?action;
????public?RequestWeakReference(Action?...
分类:
其他好文 时间:
2015-05-11 20:16:35
阅读次数:
136
Java中的 WeakReference 和 SoftReference
分类:
编程语言 时间:
2015-05-07 20:19:51
阅读次数:
136
WeakMemoryCache 源码:
BaseMemoryCache参见:http://blog.csdn.net/woliuyunyicai/article/details/45330867
/**
* Memory cache with {@linkplain WeakReference weak references} to {@linkplain android.graphic...
分类:
移动开发 时间:
2015-05-03 12:05:32
阅读次数:
230
Java 中强引用, 软引用SoftReference,弱引用WeakReference,虚引用
Java当中的引用有四种:
1.强引用
平常我们用的最多的引用。 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。只...
分类:
编程语言 时间:
2015-04-19 18:01:03
阅读次数:
123
不久前我写过一篇关于ThreadLocal用法的文章,但最近项目上出现了Memory Leak,调查后发现可能与ThreadLocal的使用有关,在此对ThreadLocal的使用作一些补充。
在ThreadLocal内部,其实是通过一个Map(类似Map)来保存各个线程独立的变量的,但是这个map有一点特殊,它对线程的引用是弱引用WeakReference(如果一个对象只被弱引用相联,...
分类:
其他好文 时间:
2015-04-09 08:50:42
阅读次数:
218