这段时间在研究关于ARC得循环引用导致变量不能释放,在此先介绍一本书英文书:《Pro Multithreading and Memory Management for iOS and OS X with ARC, Grand Central Dispatch, and Blocks》(《iOS与OS...
分类:
其他好文 时间:
2014-11-18 13:08:57
阅读次数:
176
lua序列化支持key类型为string, number支持value类型为string, number, table支持循环引用支持加密序列化支持loadstring反序列化使用示例local t = { a = 1, b = 2}local g = { c = 3, d = 4, t}t.rt....
分类:
其他好文 时间:
2014-11-18 00:16:10
阅读次数:
275
无意中看到有人在咨询block循环引用如何解决的问题:记录下来,方便童鞋们参考ios开发中,开了ARC模式,系统自动管理内存,如果程序中用到了block就要注意循环引用带来的内存泄露问题了这几天遇到一个问题,正常页面dismiss的时候是要调用dealloc方法的,但是我的程序就是不调用,研究了好久...
分类:
移动开发 时间:
2014-11-06 16:32:14
阅读次数:
228
【ARC的特性】 ARC下,所有NSObject类型指针, 1. 默认为__strong类型 2. 可以显示的指定为__weak类型,__weak类型指针在所指向对象销毁后会自动置为nil 3. __autorelesing类型用于inout参数类型 ARC下,当一个函数返回一个NSObj...
分类:
移动开发 时间:
2014-11-05 14:19:29
阅读次数:
286
一般来说我们总会在设置Block之后,在合适的时间回调Block,而不希望回调Block的时候Block已经被释放了,所以我们需要对Block进行copy,copy到堆中,以便后用。当一个Block被Copy的时候,如果你在Block里进行了一些调用,那么将会有一个强引用指向这些调用方法的调用者,有两个..
分类:
其他好文 时间:
2014-11-04 06:50:15
阅读次数:
165
如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的实现中,垃圾回收从哪儿开始的呢?即,...
分类:
其他好文 时间:
2014-10-22 20:22:31
阅读次数:
186
http://blog.csdn.net/felix9/article/details/9619313 在实际开发中,发现使用Block有着比delegate和notification更简洁的优势。于是在目前的项目中大量的使用block。 在我的头文件我是这样声明使用block的。[plain].....
分类:
其他好文 时间:
2014-10-20 21:09:33
阅读次数:
205
可以从不同的的角度去划分垃圾回收算法:按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Swee...
分类:
编程语言 时间:
2014-10-20 20:54:06
阅读次数:
157
目前总结了一下,在iOS平台容易引起循环引用的几个场景:
一、parent-child模式
二、block(编译器会提示警告)
三、NSTimer
四、桥接...
分类:
移动开发 时间:
2014-09-10 17:53:30
阅读次数:
169
基本回收算法 1. 引用计数(Reference Counting)比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。2. 标记-清除(Mark-Sweep)此算法执行分两阶段。第一阶段...
分类:
其他好文 时间:
2014-09-09 10:36:38
阅读次数:
205