强引用
正常定义的对象引用。
回收条件:不在引用
弱引用(WeakReference)
可用来解决asynctask 内存泄漏的问题。在切换其他acitivty的时候,如果这个actiity已经destory了,就应该让它回收。此时如果我们用弱引用的话,就能防止不能被回收。
回收条件:一般在弱引用的同时,这个对象可能也被强引用了。如果这个强引用消失了,系统就开始回收弱引用。
软引用(SoftReference)
在内存紧张的时候,能为其他对象释放内存。
回收条件: 内存不够的时候回收
虚引用(PhantomReference)
随时回收,用途不明。
回收条件:无条件,随时回收。