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();//接收弱引用数据
网友评论