zoukankan      html  css  js  c++  java
  • AJPFX的内存管理小结

    管理范围:任何继承于 NSObject的对象
    原理:
    每一个对象都有引用计数器
    当使用alloc new 和 copy创建对象时引用计数器被设置为1
    给对象发送一条retain消息 ,引用计数器加1      —
    给对象发送一条relrase消息,引用计数器会减1
    计数器为0时,对象会被回收
    只要用alloc new创建新对象,那么你就有责任做一次release
    不可以再操作已经被释放的对象,不然会发生野指针错误
    在对象释放前操作对象
    你想使用某个对象,就应该放对象的计数器+1
    你不想使用某个对象,就应该让对象的计数器-1

    成员变量内存管理(如果成员变量是对象,才需要管理)
    哪里有 alloc new 哪里有 release
    release 旧对象
    retain新对象
    dealloc 方法就是释放当前拥有的所有对象

    nonatomic:性能高 多线程不加锁   —诺米拖米克
    atomic 性能低,多线程加锁      -啊拖你克

    autorelease 会将对象放到一个自动释放池中
    当自动释放池被销毁,会将池里的所有对象的一次release操作

  • 相关阅读:
    TODO 模板实践
    C++类继承方式及实践
    【转】C++友元
    C++面向对象实践
    数组指针实践
    引用&指针交换函数实践
    左值引用&右值引用实践【TODO】
    const变量的修改实践
    【转】c语言动态与静态分配
    【转】数组指针&指针数组
  • 原文地址:https://www.cnblogs.com/AJPFX/p/10891258.html
Copyright © 2011-2022 走看看