1. 程式人生 > >Android面試篇之軟引用和弱引用的區別

Android面試篇之軟引用和弱引用的區別

軟引用所指向的物件要進行回收,需要滿足兩個條件:

● 沒有任何強引用 指向 軟引用指向的物件(記憶體中的Person物件)

● JVM需要記憶體時,即在丟擲OOM之前

即SoftReference變相的延長了其指示物件佔據堆記憶體的時間,直到虛擬機器記憶體不足時垃圾回收器才回收此堆記憶體空間。

弱引用所指向的物件要進行回收,只需要滿足條件:

● 沒有任何強引用 指向 弱引用指向的物件(記憶體中的Person物件)

即WeakReference不改變原有的強引用物件的垃圾回收機制。一旦其指示物件沒有任何強引用物件時,此物件即進入正常的垃圾回收流程。