zoukankan      html  css  js  c++  java
  • ARC 和 MRC 小结

     ARC 和 MRC 内存管理

                从 MRC—>ARC 就是将内存管理部分,从开发者的函数中转移到函数外部的runtime 中.由于 runtime 的开发简单,逻辑层次高,所以 runtime 的出错几率很小,另外由于编译器的优化,使得运行速度很高.

                ARC 的特点:

    • 不能显示的调用 dealloc,retain,release 等(同样不能再 ARC 中自定义的 delloc 方法中调用[super dealloc]方法.不能调用@selector(retain), @selector(release)的方法)
    • 不能使用 NSAllocateObject 和 NSDeallocateObject来创建和释放对象.
    • 不能使用 C 语言结构体中使用对象指针
    • id 和 void * 之间不能随意转换
    • 不能使用NSAutoreleasePool对象
    • 不能使用内存区域.为了自动 retain—release,ARC 在内存管理方面做了一些限定,即不能以 new 为开头命名编译器名称,也就是说不能以 new 开头命名属性,除非指定一个不同命的 getter 方法.
  • 相关阅读:
    对象实例化内存布局与访问定位
    方法区

    本地方法栈
    本地方法接口
    虚拟机栈
    程序计数器
    运行时数据区概述及线程
    自学》2.网页弹窗计算商品价格
    自学》1.用网站发邮件
  • 原文地址:https://www.cnblogs.com/xuan-yuan/p/5531466.html
Copyright © 2011-2022 走看看