copy自:swift2.0官方教程中文版---极客学院版
1.产生闭包之间的循环强引用
直接代码和上图:
class HTMLElement {
let name: String
let text: String?
lazy var asHTML: Void -> String = {
if let text = self.text {
return "\(text...
分类:
其他好文 时间:
2015-08-25 12:02:56
阅读次数:
180
RAC在应用中大量使用了block,由于Objective-C语言的内存管理是基于引用计数的,为了避免循环引用问题,在block中如果要引用self,需要使用@weakify(self)和@strongify(self)来避免强引用。 一、block的循环引用问...
分类:
其他好文 时间:
2015-08-20 15:41:47
阅读次数:
160
1.strong:强指针/强引用weak:弱指针/弱引用2.默认情况下,任何指针都是强指针3.使用__weak修饰的指针为弱指针4.Person *p = [[Person alloc] init];[[Person alloc] init],系统会分配内存装这个对象,然后交给p这个指针去指着。5....
分类:
其他好文 时间:
2015-08-19 20:18:45
阅读次数:
244
PS:其实这一篇和上一篇很类似,都是为了解决内存不足(OOM)这种情况的发生...学习内容:1.对象的引用类.... 最近也是通过项目中知道了一些东西,涉及到了对象的引用类,对象的引用类分为多种,强引用(其实就是正常的引用),使用SoftReference实现软引用,Weak Reference(弱...
分类:
移动开发 时间:
2015-08-19 20:18:32
阅读次数:
128
要实现单例,关键是要保证类的alloc和init只被调用一次,并且被自身强引用防止释放。
近日读唐巧先生的《iOS开发进阶》,受益匪浅,通过GCD实现单例就是收获之一,下面把这个方法与大家分享。
在GCD中,有一个函数dispatch_once,可以实现代码段的一次性执行,和static修饰的变量赋值的一次性一样,我们结合static和dispatch_once,就可以简单的实现单例。
...
分类:
其他好文 时间:
2015-08-17 21:49:04
阅读次数:
156
一、java.lang.ref
java.lang.ref包规范(参看JDK API中所述内容,本文就不贴出来了)有几个点很重要。
1. 这个包中的类使得应用程序可以与JVM垃圾收集器进行一些交互;
2. 引用的可达性逐渐降低:强引用、弱引用、软引用、虚引用;
3. 自动清除引用:只有弱引用和软引用会自动清除引用(这表明虚引用不会自动清除),清除的时机是将引...
分类:
编程语言 时间:
2015-08-15 20:04:03
阅读次数:
3423
循环调用:1.循环引用的问题两个对象A、B,有可能会出现特殊情况:A中包含B的实例变量;B中也包含A的实例变量,如果这两个实例变量都是强引用(A有着B的实例变量所有权,B也有A的实例变量所有权),然后在两个对象销毁时,会出现A、B都不能正常销毁的情况。下面用代码来演示循环调用问题:ClassA的头文...
分类:
其他好文 时间:
2015-08-14 17:00:53
阅读次数:
114
目录:1,自动引用计数的定义2,强引用和弱引用3,类比手动引用4,循环引用5,CoreFoundation内容:自动引用计数的定义:(Automatic Reference Counting) 在编译时自动在合适的位置加入retain 和 release,简化内存管理,自动引用计数不是内存管理,而是...
分类:
其他好文 时间:
2015-08-12 06:36:00
阅读次数:
247
直接上代码: public class BitmapCache { private LruCache<String, Bitmap> lc;//强引用 private HashMap<String, SoftReference<Bitmap>> smap;//弱引用 public BitmapCache() { smap=new HashMap<String, So...
分类:
其他好文 时间:
2015-08-10 22:31:42
阅读次数:
246
从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。 ? ? 1.强引用 ??? 以前我们使用的大部分引用实际上...
分类:
编程语言 时间:
2015-08-02 23:41:18
阅读次数:
472