• 内存管理


     
         a、alloc  retain  new   copy  会让计数器加1 ,release 会让计数器减1。
         b、dealloc 方法用于销毁对象,收回内存。其和 alloc 分配内存对应。dealloc方法不能被直接调用,而是由系统在销毁对象时调用。retain 和 release 对应。
         c、影响引用计数的方法: + alloc   -retain  -copy   -release    -autorelease
         d.自动释放池与自动管理不一样。
         e.dealloc不能直接调用,而是由系统在销毁对象时使用。
         f.当一个对象的引用计数器为0时,那么它将被销毁,内存被系统回收
         g. MRC与ARC选择需要ARC的文件双击,并在输入框中输入:-fobjc-arc,如果不要ARC则输入:-fno-objc-arc

     

    #import <Foundation/Foundation.h>

    #import "Student.h"

    int main(int argc, const char * argv[]) {

      

        Student *s=[[Studentalloc]init];

        [s retain];

        NSAutoreleasePool *pool = [[NSAutoreleasePoolalloc] init];//创建一个自动释放池

        //如果想要给一个对象发送autorelease消息,必须将下面的代码写在创建自动释放池和销毁池之间

        [s autorelease];

        //只有当自动释放池release时,才会将池里面的对象进行一次release

        [pool release];

        NSLog(@"%zi",s.retainCount);

        [s retain];

        //自动释放池,当超出大括号之后,其包含的对象自动release,发送autorelease消息的代码需要放到大括号里

        @autoreleasepool{

            [s autorelease];

        }

        NSLog(@"%zi",s.retainCount);

        return 0;

    }

  • 相关阅读:
    Jmeter4.0压测实战
    tomcat只部署一个index.html 文件
    redis 查看当前连接数
    公众号入口-H5测试要点
    windows 下启动redis && Python 操作 redis
    Jmeter4.0之beanshell引用外部jar
    算法练习之存在重复元素
    python 递归查找jpg文件并打印
    hadoop单节点安装
    windows 下获取文件夹下的文件名称
  • 原文地址:https://www.cnblogs.com/lcl15/p/4930849.html
Copyright © 2020-2023  润新知