自动释放机制autorelease的创建,基本用法,优缺点等说明;
ARC机制的说明,判断释放标准,注意要点;
强指针,弱指针的说明;
弱指针的自动nil化;
方法族;...
分类:
移动开发 时间:
2015-07-09 20:00:16
阅读次数:
5194
1.autorelease的基本用法1>会将对象放到一个自动释放池中2>当自动释放池被销毁时,会对池子里面的所有对象做一次release操作3>会返回对象本身4>调用完autorelease方法后,对象的计数器不变2.autorelease的好处1>不用再关心对象释放的时间2>不用再关心什么时候调用...
分类:
其他好文 时间:
2015-07-08 12:41:00
阅读次数:
101
内存管理一直是学习 Objective-C 的重点和难点之一,尽管现在已经是 ARC 时代了,但是了解 Objective-C 的内存管理机制仍然是十分必要的。其中,弄清楚 autorelease 的原理更是重中之重,只有理解了 autorelease 的原理,我们才算是真正了解了 Objectiv...
分类:
其他好文 时间:
2015-06-24 16:02:11
阅读次数:
101
规则:
当你使用 new 、 alloc 或 copy 方法创建一个对象时,改对象的保留计数器的值为 1。当不再使用该对象时,你应该向该对象发送一条 release 或 autorelease 消息。这样,该对象将在其使用寿命结束时被销毁。
当你通过其他方法获得一个对象时,假设该对象的保留计数器的值为 1 ,而且已经被设置为自动释放,难么你不需要执行任何操作来确保该对象得到清理。如果你打算在一段时间...
分类:
其他好文 时间:
2015-06-20 11:58:48
阅读次数:
102
autorelease pool 使用注意事项:
在 ARC 下,不能使用 [ [ NSAutoreleasePool alloc ] init ] ,而应当使用 @autoreleasepool ;
不要把大量循环操作放到同一个 NSAutoreleasePool 之间,这样会造成内存峰值的上升 ;
尽量避免对大内存使用该方法,对于这种延迟释放机制,还是尽量少用 ;
sdk 中一般利用静态方法创建...
分类:
其他好文 时间:
2015-06-20 10:34:14
阅读次数:
155
iOS ARC 内存自动管理机制,目前,几乎好多的项目都会用ARC去,因为,它把内存释放这个体力活给干了,不过,虽然ARC很好,我们仍然不能完全把内存管理这回事儿抛在脑后。ARC的工作原理:ARC是一个编译前的步骤,它为我们的代码自动加上retain/release/autorelease语句。
ARC并不是垃圾收集,而且,引用计数也没有消失,只是变成自动而已。听起来像是事后追加的这么一个功能,不...
分类:
移动开发 时间:
2015-06-18 19:48:31
阅读次数:
153
ARC仅管理Objective-C指针(retain、release、autorelease),不管理CoreFoundation指针,CF指针由人工管理,手动的CFRetain和CFRelease来管理,注,CF中没有autorelease。CocoaFoundation指针与CoreFounda...
分类:
其他好文 时间:
2015-06-11 11:01:01
阅读次数:
141
01-autorelease基本概念Person.m 1 #import "Person.h" 2 3 @implementation Person 4 5 - (void)dealloc 6 { 7 [super dealloc]; 8 NSLog(@"Person 被销毁了"...
分类:
其他好文 时间:
2015-06-09 19:12:17
阅读次数:
156
autoreleasepool 池子被销毁的时候被标记 autorelease 的对象调用一次releasePerson *p2=[[[Person alloc]init]autorelease];标记为autoreleaseassign默认参数,setter方法不会引起引用计数的变化retain ...
分类:
其他好文 时间:
2015-06-08 21:24:43
阅读次数:
83
1.NSSet是Hash表使用散列算法而生成,如果集合中又两个相同的元素,那么只生成后面的那一个2.声明一个NSSetNSSet *set = [[[NSSet alloc] initWithObjects:@"one",@"two",@"three", nil] autorelease];NSSe...
分类:
其他好文 时间:
2015-06-05 00:43:46
阅读次数:
101