ARC&MRC

#pragma mark ==== OC中三大内存管理模型

/*

*自动垃圾收集--- GC---Garbage  Collection

*原理:系统自动检测我们的内存有没有指针指向对象,当我们程序运行需要内存空间的时候,会自动释放没有指针指向的内存----运行时特性

MRC:核心RC--引用计数Manual Reference Counting手动引用计数+自动释放池

alloc new retain copy addsubview  addObject alertView show-> RC+1

release autoRelease removeFromSuperView removeObject alertCancel -> RC-1

ARC:automatic reference counting -自动引用计数管理

原理:我们的编译器自动的帮我们加入内存控制代码

release Autorelease retain----编译时特性(是在编译时加入的)

*/

//block块的参数代码:  回调机制,模态动画做完之后调用

//1.自动释放池需要retain

//_arr = [[NSMutableArray arrayWithObjects:@"1234567", nil]retain];

//2.set方法引用计数+1  copy了不需要retain

self.arr= [NSMutableArray arrayWithObjects:@"56789",nil];

//3.alloc手动管理内存

_arr= [[NSMutableArray alloc]initWithObjects:@"966689",nil];



- (void)dealloc {

//在ARC中有OBJC_ARC_UNAVAILABLE修饰的方法不能使用:retain release autorelease retainCount dealloc

//[_name release];

//ARC中不能使用[super dealloc]

NSLog(@"%@释放了",self.name);

}


你可能感兴趣的:(ARC&MRC)