zoukankan      html  css  js  c++  java
  • oc-arc(Automatic Reference Counting 自动引用机制) 与 内存管理

    内存管理范围:任何继承了NSObject的对象,对基本数据类型无效。

    基本数据类型(int,long,float,double,Bool,char)

    新建的对象(alloc,new,copy) 会在堆内存中开辟一块空间,因此需要对对象进行内存管理。

    对象的基本机构:

    如果工程没有关闭ARC功能,无法调用retainCount方法;

    dealloc 方法:当对象的引用计数器=0时就会调用dealloc方法;

    retain 方法返回的调用对象本身,引用计数器加1
    [p retain];
     
    野指针:指向僵尸对象(不可用内存)的指针;
    例如,堆中对象的引用计数器=0了,对象占用的内存空间就会被系统自动回收,如果对象指针依旧指向未回收前的内存空间时,就是野指针。
    oc中,不存在空指针报错,
    空指针调用对象方法 代码可以执行;
     
     
    对象死,不能复生:对象release引用计数器等于0后,对象变成僵尸对象,此时再次执行[p retain],会报野指针错误。所谓对象死,不可复生。
     
    总结:
  • 相关阅读:
    LinkedBlockingQueue
    PriorityBlockingQueue
    js阻止事件冒泡
    java map常用的4种遍历方法
    JAVA jar 和 war 包的区别
    jquery 操作大全
    Java 使用new Thread和线程池的区别
    原生XMLHttpRequest
    socket 和 webscoket 的区别
    GET和POST请求的区别如下
  • 原文地址:https://www.cnblogs.com/My-Cloud/p/4500272.html
Copyright © 2011-2022 走看看