Android开发的四种引用

强引用(StrongReference)

强引用可以直接访问目标对象,强引用所关联的对象,在任何时候都不会被内存回收,JVM宁肯抛出OOM异常,也不会对其进行回收

弱引用(WeakReference)

弱引用是比软引用和硬引用更弱的一种引用,在GC时,不论内存是否充足,发现某一对象的引用只具有弱引用当前弱引用就会被回收

软引用(SoftReference)

软引用是除了硬引用之外最强的一种引用,软引用和硬引用的不同点在于,软引用是可被回收的,其回收机制是:当内存充足的时候,在GC时,不会去回收当前的软引用,当内存临近阈值或不足的时候,在GC时,发现某一对象的引用只具有软引用当前软引用就会被回收

虚引用(PhantomReference)

虚引用不能保证其保存对象生命周期,其保存对象若只有虚引用,则其有效期完全随机于GC的回收,在任何一个不确定的时间内,都可能会被回收;而虚引用与其他几者的引用不同在于,在使用PhantomReference,必须要和Reference联合使用

转载至 android开发四种引用的详解

发布了110 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40833790/article/details/101432884