蓝鸥iOS从零基础到精通就业-OC语言入门 对象内存管理1

来源:互联网 发布:云脉身份证识别软件 编辑:程序博客网 时间:2024/05/23 21:26
  • iOS从零基础到精通就业 Objective-C

  • CSDN观看地址:http://edu.csdn.net/course/detail/3347
  • 对象内存管理
  • #import <Foundation/Foundation.h>#import "Person.h"int main(int argc, const char * argv[]) {    //引用计数机制  当一个对象创建出来之后引用计数为1 当对象的引用计数为0的时候说明这块内存没有人在使用  可以回收    //ARC  自动引用计数    //MRC  手动引用计数        Person *p1 = [[Person alloc] init];    NSLog(@"%ld",[p1 retainCount]);        [p1 retain];    NSLog(@"%ld",[p1 retainCount]);        //引用计数减小    [p1 release];    [p1 release];         //自动释放池    @autoreleasepool {        Person *p2 = [[[Person alloc] init] autorelease];    }    //遍历构造器内部存在一个autorelease 所以便利构造器创建的对象不需要release    NSMutableArray *array = [NSMutableArray array];            Person *p3 = [[Person alloc] init];    [array addObject:p3];    //当对象被添加到容器中的时候 引用计数会+1    NSLog(@"%ld",[p3 retainCount]);    [p3 release];        //有四个人在使用同一块内存  引用计数为4    Person *p4 = [[Person alloc] init];    Person *p5 = [p4 retain];    Person *p6 = [p4 retain];    Person *p7 = [p4 retain];        [p4 release];    [p5 release];    [p6 release];    [p7 release];                return 0;}


0 0