安卓的四种引用
来源:互联网 发布:护眼台灯推荐知乎 编辑:程序博客网 时间:2024/06/06 01:59
1. 强引用(Strong References)
强引用类型是我们平时写代码的时候最常用的引用,而大部分人往往都会忽略这个概念,都成一种理所当然的事情了。
2. 软引用(Soft References)
软引用在java.lang.ref包中有与之对应的类java.lang.ref.SoftReference。
重点: 被弱引用指向的对象不会被垃圾收集器收集(即使该对象没有强引用指向它),除非jvm使用内存不够了,才会对这类对象进行销毁,释放内存。举个简单的例子:
3. 弱引用(Weak References)
弱引用会被jvm忽略,也就说在GC进行垃圾收集的时候,如果一个对象只有弱引用指向它,那么和没有引用指向它是一样的效果,jvm都会对它就行果断的销毁,释放内存。其实这个特性是很有用的,jdk也提供了java.util.WeakHashMap这么一个key为弱引用的Map。比如某个资源对象你要释放(比如 db connection), 但是如果被其它map作为key强引用了,就无法释放,被jvm收集。
4. 虚幻引用(Phantom References)
虚幻应用和弱引用的回收机制差不多,都是可以被随时回收的。但是不同的地方是,它的构造方法必须强制传入ReferenceQueue,因为在jvm回收前(重点: 对,就是回收前,软引用和弱引用都是回收后),会将PhantomReference对象加入ReferenceQueue中; 还有一点就是PhantomReference.get()方法永远返回空,不管对象有没有被回收。
阅读全文
1 0
- 安卓的四种引用
- 安卓-Activity的四种launchMode
- 安卓的四种启动形式
- Java的四种引用
- Java的四种引用
- Java的四种引用
- java的四种引用
- JAVA的四种引用
- Java的四种引用
- java的四种引用
- java的四种引用
- java的四种引用
- Java的四种引用
- java的四种引用
- java的四种引用
- java的四种引用
- java的四种引用
- Java的四种引用
- 关于ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的理解
- jquery显示时间格式
- 如何设置创建的对象的颜色
- 当浏览器窗口大小改变时候,动态获取当前浏览器窗口的可视高宽
- Android开发四种引用
- 安卓的四种引用
- Java
- Task 3 (p 104)
- 不删除数据的情况下重置AUTO_INCREMENT的方法
- Linux下php安装zlib扩展
- javascript之对象属性的检测
- Sql优化
- Redis哨兵的常用命令
- Android开发四种引用