iOS - 内存管理
文章平均质量分 79
iOS的脚步
这个作者很懒,什么都没留下…
展开
-
block 的ARC和MRC中的区别
block在ARC和MRC中的声明引用有些区别. /** block可以存储在栈中,也可以在堆中 默认存储在栈中,不需要管理内存 存储在堆中的block会对block进行retain操作 */ //(MRC)block在堆中时,不想对block进行retain操作,前面加__block //(ARC)前面加__weak原创 2015-06-30 23:00:21 · 4817 阅读 · 0 评论 -
单例在ARC和MRC中
单例在ARC和MRC中创建一个单例对象,需要做以下几点: 1.定义一个全局的static类变量instance,赋值为nil 2.重写allocWithZone方法:内部用dispatch_once来保证线程安全 3.在MRC中,重写release方法 4.重写retain方法:直接返回instance 5.重写copyWithZone和mutableCopyWithZon原创 2015-07-01 13:26:17 · 645 阅读 · 0 评论 -
IOS中的block的retain循环
来源:http://www.cnblogs.com/tangbinblog/archive/2012/12/31/2840690.htmlIOS中的block和retain cycle (经典)retain cycle 的产生说到retain cycle,首先要提一下Objective-C的内存管理机制。作为C语言的超集,Objective-C延续了C语言中手动管理内存的方转载 2015-07-27 18:21:40 · 465 阅读 · 0 评论 -
iOS中ARC内部原理
来源:http://blog.csdn.net/meegomeego/article/details/11898495你已经知道,ARC会自动帮你插入retain和release语句。ARC编译器有两部分,分别是前端编译器和优化器。1. 前端编译器前端编译器会为“拥有的”每一个对象插入相应的release语句。如果对象的所有权修饰符是__strong,那么它就是被拥有的转载 2015-07-28 17:53:20 · 626 阅读 · 0 评论 -
iOS didReceiveMemoryWarining
在iOS6.0之前,当应用程序收到memory warning时,会调用:UIApplication::didReceiveMemoryWarning -> UIApplicationDelegate::applicationDidReceiveMemoryWarning, 然后调用当前所有的viewController进行处理。因此处理的主要工作是在viewController中。当一个转载 2015-06-29 15:01:29 · 505 阅读 · 0 评论