强,弱,软,虚引用回收时机

强引用

正常定义的对象引用。
回收条件:不在引用

弱引用(WeakReference)

可用来解决asynctask 内存泄漏的问题。在切换其他acitivty的时候,如果这个actiity已经destory了,就应该让它回收。此时如果我们用弱引用的话,就能防止不能被回收。
回收条件:一般在弱引用的同时,这个对象可能也被强引用了。如果这个强引用消失了,系统就开始回收弱引用。

软引用(SoftReference)

在内存紧张的时候,能为其他对象释放内存。
回收条件: 内存不够的时候回收

虚引用(PhantomReference)

随时回收,用途不明。
回收条件:无条件,随时回收。

猜你喜欢

转载自blog.csdn.net/w1764662543/article/details/81258557