zoukankan      html  css  js  c++  java
  • ARC基本概念

    1.什么是ARC

    • Automatic Reference Counting,自动引用计数,即ARC,可以说是WWDC2011和iOS5所引入 的最大的变革和最激动人心的变化。ARC是新的LLVM 3.0编译器的一项特性,使用ARC,可以说一 举解决了广大iOS开发者所憎恨的手动内存管理的麻烦。

    • 手动管理内存, 可以简称MRC (Manual Reference Counting)
    • 在工程中使用ARC非常简单:只需要像往常那样编写代码,只不过永远不写retain,release和autorelease三个关键字就好~这是ARC的基本原则。

    • 当ARC开启时,编译器将自动在代码合适的地方插入retain, release和autorelease,而作为程序猿,完全不需要担心编译器会做错(除非开发者自己错用ARC了)。

    2.ARC的注意点和优点

    • ARC的注意点

      • ARC是编译器特性,而不是运行时特性
      • ARC不是其它语言中的垃圾回收, 有着本质区别
    • ARC的优点

      • 完全消除了手动管理内存的烦琐, 让程序猿更加专注于app的业务
      • 基本上能够避免内存泄露
      • 有时还能更加快速,因为编译器还可以执行某些优化

    3.ARC的判断原则

    • ARC的判断原则

      • 只要还有一个强指针变量指向对象,对象就会保持在内存中
    • 强指针

      • 默认所有指针变量都是强指针
      • 被__strong修饰的指针
     Person *p1 = [[Person alloc] init];
     __strong  Person *p2 = [[Person alloc] init];
    • 弱指针

      被__weak修饰的指针

    __weak  Person *p = [[Person alloc] init];
    • 注意:当使用ARC的时候,暂时忘记“引用计数器”,因为判断标准变了。
  • 相关阅读:
    1、scala安装和基本语法
    3.12-3.16 Hbase集成hive、sqoop、hue
    3.7-3.9 HBase表属性
    3.4-3.6 依据业务需求分析HBase的表设计
    字符串匹配[原始方法]
    括号匹配[栈]
    13.A={1,2,3,5}和为10的问题
    12.回溯递归
    11.字符串{a,b}的幂集[回溯递归]
    10.N个整数中查找是否相加为K[深度搜索]
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/6591239.html
Copyright © 2011-2022 走看看