Android中弱引用和软引用的应用场景
来源:互联网 发布:linux的syslog开启 编辑:程序博客网 时间:2024/05/29 18:51
1,弱引用
弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程,因此不一定会很快发现那些只具有弱引用的对象。
主要作用:可以防止内存泄漏
使用场景:全局的Map对象用于保存某种映射的时候 一定一定要用弱引用来保存对象,因为全局变量一般是static的,他的生命周期一定长于单个对象,如果用弱引用来保存对象,当对象回收时,如果是强引用,就会发生内存泄漏。
2,软引用
如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存(下文给出示例)。
主要作用:缓存
使用场景:对于Bitmap的加载,非常耗费时间,我们希望把加载过的Bitmap做缓存来节省加载的时间。
可是Bitmap非常的吃内存,我们不希望OOM,所以使用软引用,在系统内存不足时,此部分内存会被重新回收,避免OOM。
强引用-》软引用-》弱引用-》虚引用
虚引用的应用场景:使用虚引用完成对象回收后的资源释放工作。
FileCleanTracker,将一个文件与一个对象关联起来,当这个对象被回收之后,把文件也删掉。
阅读全文
0 0
- Android中弱引用和软引用的应用场景
- Android中弱引用与软引用的应用场景
- android中四大引用的区别,强引用、软引用、弱引用和虚引用
- Android中弱引用与软引用的应用场
- Android中软引用与弱引用的应用
- Android的软引用和弱引用
- Android应用开发之软引用和弱引用
- 弱引用和软引用WeakReference,SoftReference,最简讲解,以及一个应用场景
- android弱引用和软应用的详解
- Android开发中使用软引用和弱引用
- Android开发中软引用和弱引用
- Android开发中使用软引用和弱引用
- 在java中弱引用,软引用,虚引用和强引用的不同之处
- Java垃圾回收中对象的强引用,软引用,弱引用和虚引用
- java中强引用、软引用、弱应用、虚引用
- 知识点--实际开发中软引用或弱引用的使用场景
- Java/Android对象的四中引用类型 (对象的强、软、弱和虚引用)
- Java/Android对象的四中引用类型 (对象的强、软、弱和虚引用)
- python zip的用法
- Mybatis小结(优化)
- 2018网易内推笔试-彩色的砖块(python)
- Parallels Desktop 12 for Mac free download
- adb shell命令输入dos窗口后,报错error:device not found
- Android中弱引用和软引用的应用场景
- MFC/OpenCV读取摄像头
- HDU_6154 CaoHaha's staff 【规律打表】
- UVA 1152 4 Values whose Sum is 0 (二分)
- minimum-depth-of-binary-tree
- AQS源码分析
- 2017电赛板球系统比赛经历
- SqlServer 2008中time类型的使用方法
- [opengl笔记]2017年08月19日