Java 引用 强软弱虚 和LruCache

2016-12-09  本文已影响228人  RoboyCore

1.强引用

我们一般 XX a = new XX()就是 强引用,不会被回收,当内存不足时 报出out of memory(内存溢出)也不会释放资源

2.软引用

SoftReference 在内存不足时才会考虑被回收,不容易造成内存溢出

3.弱引用

WeakReference
只要被GC发现,就会回收

4.虚引用

PlantomReference
虚引用可以作为对象是否回收的标识,从而在被回收前做好相应工作

=================================================================
private List<String> list;//强引用

private SoftReference<List<String>> slist;
private List<String> data;//soft引用接收数据

private WeakReference<String> mWeakReference;//弱引用
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    list = new ArrayList<>();//强

    slist = new SoftReference<List<String>>(new ArrayList<String>());//soft引用
    data = slist.get();//获取软引用的数据

    mWeakReference = new WeakReference<String>(new String());
    String s = mWeakReference.get();//接收弱引用数据

5、LRUCache

上一篇 下一篇

猜你喜欢

热点阅读