强引用和弱引用: 我们已经知道OC中的内存管理是通过“引用计数器”来实现的。一个对象的生命周期取决于它是否还被其他对象引用(是否retainCount=0)。但在有些情况下,我们并不希望对象的销毁时间由是否被其他对象引用来决定,而是这个对象本该是什么时候销毁就什么时候被销毁。这时,我们得引入“强引....
分类:
移动开发 时间:
2015-05-02 15:02:08
阅读次数:
168
??
Universal-Image-Loader的内存缓存策略
1. 只使用的是强引用缓存
LruMemoryCache(这个类就是这个开源框架默认的内存缓存类,缓存的是bitmap的强引用)
2.使用强引用和弱引用相结合的缓存有
UsingFreqLimitedMemoryCache(如果缓存的图片总量超过限定值,先删除使用频率最小的bitmap)LRULimitedM...
分类:
移动开发 时间:
2015-04-30 16:12:03
阅读次数:
255
??
Universal-Image-Loader的内存缓存策略
1. 只使用的是强引用缓存
LruMemoryCache(这个类就是这个开源框架默认的内存缓存类,缓存的是bitmap的强引用)
2.使用强引用和弱引用相结合的缓存有
UsingFreqLimitedMemoryCache(如果缓存的图片总量超过限定值,先删除使用频率最小的bitmap)LRULimite...
分类:
移动开发 时间:
2015-04-28 09:41:29
阅读次数:
266
强引用:如果一个对象具有强引用,GC绝不会回收它;当内存空间不足,JVM宁愿抛出OutOfMemoryError错误;
软引用:如果一个对象具有软引用,当内存空间不足,GC会回收这些对象的内存,使用软引用构建敏感数据的缓存;
弱引用:如果一个对象具有弱引用,在GC线程扫描内存区域的过程中,不管当前内存空间足够与否,都会回收内存,使用弱引用 构建非敏感数据的缓存;
虚引用:如果一个对象仅持有虚引用,在任何时候都可能被垃圾回收,虚引用与软引用和弱引用的一个区别在于:虚引用必须和引用队列联合使用,虚引用主要用来跟...
分类:
编程语言 时间:
2015-04-25 16:42:22
阅读次数:
291
强引用,软引用,弱引用,虚引用
强引用:
我们一般使用的就是强引用。垃圾回收器绝不会回收它。
当内存空间不足时Java虚拟机宁愿抛出OutOfMemoryError错误使程序异常终止,也不会回收具有强引用的对象来解决内存不足的问题
软引用:
如果一个对象具有软引用,那么当内存空间足够的时候GC就不会回收它,如果内存空间不足了,就会回收这些对象的内存空间。
弱引用...
分类:
其他好文 时间:
2015-04-21 16:13:49
阅读次数:
148
1、强引用(StrongReference) ??? ? ? ? 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下: Object?o=new?Object();???//??强引用 当内存空间不足,Java虚拟机...
分类:
编程语言 时间:
2015-04-21 13:14:35
阅读次数:
183
Java 中强引用, 软引用SoftReference,弱引用WeakReference,虚引用
Java当中的引用有四种:
1.强引用
平常我们用的最多的引用。 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。只...
分类:
编程语言 时间:
2015-04-19 18:01:03
阅读次数:
123
一、java中的四种引用简介
1、强引用:创建对象的引用,GC抛出OOM也不回收内存
2、软引用:在OOM之前回收内存
3、弱引用:在GC发现之后释放内存
4、虚引用(幽灵引用):使用后就释放
二、软引用的使用
1、用途:软引用是主要用于内存敏感的高速缓存,在jvm报告内存不足之前会清除所有的软引用,这样以来gc就有可能收集软可及的对象,可能解决内存吃紧问题,避免内溢出。
2、引用的...
分类:
编程语言 时间:
2015-04-18 16:16:22
阅读次数:
192
内存缓存技术对那些大量占用应用程序宝贵内存的图片提供了快速访问的方法。其中最核心的类是LruCache (此类在android-support-v4的包中提供) 。这个类非常适合用来缓存图片,它的主要算法原理是把最近使用的对象用强引用存储在 LinkedHashMap 中,并且把最近最少使用的对象在...
分类:
系统相关 时间:
2015-04-16 21:22:49
阅读次数:
260
1. 如何在XCODE中,自定义代码块? 如:strong,weak,copy, tableViewCell 等...2. 怎么理解 强引用和弱引用?3. 什么是懒加载?4. frame/bounds/center区别?5. 转变坐标系?
分类:
其他好文 时间:
2015-04-10 06:45:06
阅读次数:
130