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

  • 相关阅读:
    mq概念
    Mac Xampp 安装redis 及 安装php-redis扩展
    rabbitmq死信队列(延迟队列)demo
    rabbitmq生产与消费测试
    RabbitMQ各方法详解
    Mac git old mode 100644 new mode 100755 mac目录权限问题
    mac安装redis
    msql创建用户并授权
    mac apache php 访问失败
    Kubernetes入门学习--在Ubuntu16.0.4安装配置Minikube
  • 原文地址:https://www.cnblogs.com/motoyang/p/4783289.html
Copyright © 2011-2022 走看看