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();//接收弱引用數據