• IOS学习笔记3—Objective C—简单的内存管理


    今天简述一下简单的内存管理,在IOS5.0以后Apple增加了ARC机制(Automatic Reference Counting),给开发人员带来了不少的方便,但是为了能更好的理解IOS内存管理机制,还是需要对其比较了解。

    1.在OC中,每个对象都有一个保留计数,创建时每个对象都有一个初始值为1的保留计数,释放时,保留计数都为0

     

    2.创建自动释放的对象

    要求以一个方法创建对象时,以自动释放的形式返回该对象是一个很好的编程实践

    +(Car *)car

    {

         Car *myCar = [[Car alloc] init];

         return [myCar autorelease];

    }

     

    3.创建已保留属性

    @property (retain)NSArray *colors;

    synthesize创建后,自动保留该对象,如果该对象被重新赋值,前面的值将被自动释放

     

    4.创建对象的其他方式

    一般规则:通过alloc、new、create、copy的任意方法构建一个对象,就必须承担释放该对象的责任,和类方法不同,带这些字样的方法一般不会返回自动释放的对象

     

    5.释放对象

    释放属性:self.year = nil;会调用OC合成的自定义赋值方法,并释放以前赋值给该属性的任意对象

    释放实例变量(非属性):[age release]; 实例变量在对象生命周期内,随时可以指向一个保留计数+1的对象,必须释放当前赋值给age的任意对象,从而将计数置为0;

     

     

    对Android&IOS感兴趣的朋友可以加入我们的讨论QQ群,在这里,我们只讨论干货:

    iOS群:220223507

    Android群:282552849

    欢迎关注我的新浪微博和我交流:@唐韧_Ryan

  • 相关阅读:
    关于android listview去掉分割线
    关于android在Service中弹出Dialog对话框
    Java SimpleDateFormat 函数
    关于Android使TextView可以滚动的设置
    关于Android(Java)创建匿名线程
    关于解决 Failed to prepare partial IU:
    毕业设计进度:2月4日
    毕业设计进度:2月3日
    毕业设计进度:2月2日
    毕业设计进度:2月1日
  • 原文地址:https://www.cnblogs.com/motoyang/p/4783289.html
Copyright © 2020-2023  润新知