zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Linux下卸载openjdk,安装jdk
    dom4j移除节点不成功
    运费模版源码(.net)
    电子商城系统运费模板设计
    【转】js判断手机访问网页
    nopcommerce之一(结构分析)
    js阻止提交表单(post)
    s1=s1+1与s1+=1的区别
    .net中从GridView中导出数据到excel(详细)
    分布式事务中常见的三种解决方案
  • 原文地址:https://www.cnblogs.com/motoyang/p/4783289.html
Copyright © 2011-2022 走看看