闲来无事,用Java的软引用写了一个山寨的缓存博客分类:java基础众所周知java中的引用分为 StrongReference、SoftReference、WeakReference、PhantomReference。这几种引用有不同那个的 使用场景,平时我们用的最频繁的也就是StrongRefe...
分类:
编程语言 时间:
2015-04-01 11:08:05
阅读次数:
219
package com.wei.core.activity;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.ref.WeakReference;
import android.app.Activity;
im...
分类:
其他好文 时间:
2015-03-19 22:14:59
阅读次数:
171
通过keyguardstatusview.java中可以看到,代码所采用的日期格式固定 观察者定义如下: private static class FormatChangeObserver extends ContentObserver { private WeakReference mClock;...
分类:
其他好文 时间:
2015-03-05 01:36:10
阅读次数:
188
也就是说,即使WeakHashMap持有了key对象也不会阻止这个key对象被回收,也就相当于说,WeakHashMap只是持有了该key对象的一个WeakReference而已。当key对象被回收之后,相应的mapping也会被回收。...
分类:
编程语言 时间:
2015-02-14 23:52:09
阅读次数:
449
使用内存缓存
使用内存缓存可以快速的拿到bitmap,但是是以占用应用可用内存为代价的。LruCache类就是为了实现bitmap的缓存的,它把最近被引用的对象存储在了一个强引用类型的LinkedHashMap中,在缓存大小超过它设定的值的时候就会赶出尽量少的最近使用的对象。
注意:在以前,一个比较受欢迎的内存缓存实现是SoftReference或者WeakReference bitmap缓存...
分类:
其他好文 时间:
2015-02-06 18:53:20
阅读次数:
270
代码不多,就懒得加注释了.原谅我的懒.
缩略图获取那块,没有加用线程.可能会在有些低端机上面或者高清的视频会出现FC的情况.需要的童鞋.自行添加.
附代码:
package com.tan.videoselectthumbnail;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import...
分类:
移动开发 时间:
2015-02-06 11:18:41
阅读次数:
441
一、概述
类结构:
java.lang.Object
java.lang.ref.Reference
java.lang.ref.WeakReference
声明:public class WeakReference
extends Reference
假定垃圾回收器确定在某一时间点上某个对象是弱可到达对象。这时,它将自动清除针对此对象的所有弱引用,以及通过强引...
分类:
编程语言 时间:
2014-12-28 18:17:25
阅读次数:
227
二:UI线程外加载图像1.使用AsyncTaskAsyncTask类提供了一个简单的后台处理方法并将结果返回到UI线程中。在线程中提议使用WeakReference来缓存显示Bitmap的UI控件,如:ImageView。WeakReference能够确保即使在线程操作时,也能让资源回收器回收UI控...
分类:
移动开发 时间:
2014-12-15 13:29:00
阅读次数:
200
本文主要是重申下这几种引用的差别,并给出实际的例子,让读者清楚的感受到它们的差别。软引用和弱引用差别不大,JVM都是先将其referent字段设置成null,之后将软引用或弱引用,加入到关联的引用队列中。我们可以认为JVM先回收堆对象占用的内存,然后才将软引用或弱引用加入到引用队列。而虚引用则不同,JVM不会自动将虚引用的referent字段设置成null,而是先保留堆对象的内存空间,直接将PhantomReference加入到关联的引用队列,也就是说如果我们不手动调用PhantomReference.cl...
分类:
编程语言 时间:
2014-11-21 23:20:12
阅读次数:
1095