一.LruCache的简单介绍Cache保存一个强引用来限制内容数量,每当Item被访问的时候,此Item就会移动到队列的头部。* 当cache已满的时候加入新的item时,在队列尾部的item会被回收。*如果你cache的某个值需要明确释放,重写entryRemoved()*如果key相对应的it...
分类:
其他好文 时间:
2014-09-23 12:07:54
阅读次数:
196
我们知道java语言提供了4种引用类型:强引用、软引用(SoftReference)、弱引用(WeakReference)和幽灵引用(PhantomReference),与引用密切相关的,还有一个引用队列ReferenceQueue。引用和引用队列的关系,对于垃圾回收来说非常重要,学习垃圾回收机制,必须要先了解引用和引用队列的使用方法。本文主要参考网上的一些理论,同时配合自己的一些测试代码,更好的理解这些概念,也解决了之前博客中遗留的问题。...
分类:
编程语言 时间:
2014-09-21 21:21:11
阅读次数:
403
正则强引用问题1 sed -e '/^$/d' $filename2 # -e选项, 将会使得后边的字符被看作为编辑指令. (如果只给"sed"传递了单个指令, 那么"-e"是可选的.)4 # "强"引用('')将会保护指令中的RE(正则表达式)字符串, 也就是防止脚本将RE重新解释为特殊字符......
分类:
其他好文 时间:
2014-09-18 18:06:24
阅读次数:
198
内存缓存(LruCache):系统提供的LruCache类是非常适合用作缓存Bitmap任务的,它将最近被引用到的对象存储在一个强引用的LinkedHashMap中,并且在缓存超过了指定大小之后将最近不常使用的对象释放掉。注意:以前有一个非常流行的内存缓存实现是SoftReference(软引用)或...
分类:
其他好文 时间:
2014-09-05 17:47:21
阅读次数:
204
一、本机变量:支队当前shell进程有效,对其子shell以及其它shell均无效。定义变量:[set]var_name=value;其中value支持强引用、弱引用、命令引用。引用变量:${var_name}撤销变量:unsetvar_name$set:显示当前系统的所有变量(包括所有本地变量、局部变量和环境变量)。二、..
分类:
其他好文 时间:
2014-09-01 02:54:53
阅读次数:
227
ios4 设备上最好就不要使用 ARC。。。strong,weak 用来修饰属性。strong 用来修饰强引用的属性;@property (strong) SomeClass * aObject;对应原来的@property (retain) SomeClass * aObject; 和 @prop...
分类:
其他好文 时间:
2014-08-31 19:58:11
阅读次数:
227
Android用LruCache来取代原来强引用和软引用实现内存缓存,因为据说自2.3以后Android将更频繁的调用GC,导致软引用缓存的数据极易被释放。
LruCache使用一个LinkedHashMap简单的实现内存的缓存,没有软引用,都是强引用。如果添加的数据大于设置的最大值,就删除最先缓存的数据来调整内存。他的主要原理在trimToSize方法中。需要了解两个主要的变量size和...
分类:
其他好文 时间:
2014-08-31 00:30:30
阅读次数:
237
?内存引用(释放强引用)Object obj=new Object();obj = null;?内存引用(使用软引用) 软引用是主要用于内存敏感的高速缓存。在jvm报告内存不足之前会清 除所有的软引用,这样以来gc就有可能收集软可及的对象,可能解决内存 吃紧问题,避免内存溢出。什么时候会被收集...
分类:
其他好文 时间:
2014-08-22 19:24:09
阅读次数:
245
【弱引用】 弱引用允许应用程序访问对象,同时也允许垃圾回收器收集相应的对象。如果不存在强引用,则弱引用的有限期只限于收集对象前的一个不确定的时间段。使用弱引用时,应用程序仍可对该对象进行强引用,这样做可防止该对象被收集。但始终存在这样的风险:垃圾回收器在重新建立强引用之前先处理该对象。 弱引用特.....
分类:
其他好文 时间:
2014-08-16 20:57:51
阅读次数:
195