网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Cocos2dx学习笔记(1)Ref类型数据垃圾回收机制-创新互联

1、不调用autorelease()的情况

创新互联专业为企业提供英吉沙网站建设、英吉沙做网站、英吉沙网站设计、英吉沙网站制作等企业网站建设、网页设计与制作、英吉沙企业网站模板建站服务,十余年英吉沙做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
        TestVO* vo = new TestVO();
        //未调用create()方法创建,没有执行过autorelease()
        vo->init();
        //这种情况下局部变量无法被回收
        vo->release();
        //需要手动调用release()方法
        
        //CC_SAFE_DELETE(vo);
        //也可以用这种方法删除

2、调用autorelease()的情况

        TestVO* vo = TestVO::create(); //引用计数=1
        //create()方法中执行过autorelease()
        //引用计数设为1
        //在帧结束的时候引用计数-1
        //引用计数为0时被回收

3、手动调用retain()防止被删除

TestVO* vo = TestVO::create();//引用计数=1        
        vo->retain();//引用计数=2
        
        //......
        //帧结束 引用计数-1 值为1 不回收
        //......
        //下一帧开始时 引用计数+1 值为2
        //......
        
        //调用release()方法
        vo->release();//引用计数-1
        
        //......
        //帧结束 引用计数-1 值为0 被回收

4、被添加到cocos2d的数据结构时

        TestVO* vo = TestVO::create();//引用计数=1
        mList->pushBack(vo);//引用计数=2
        mList->popBack();//引用计数=1 能被回收
        
        Vector* mList2 = new Vector();
        mList2->pushBack(vo);//引用计数=2 无法被回收
        //如果mList2是局部变量,其他地方无法把vo从mList2中删除,vo将无法被回收

5、类的成员

    如果是继承Ref类型的数据,如果用create()创建,需要在创建后调用retain()函数,否则会在帧的结束被回收。

    如果是new的方法初始化的,不需要调用retain()

    删除该数据或赋其他的值时,都需要调用release()方法

    new 的方法创建的可以用CC_SAFE_DELETE(vo)这种方式删除。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:Cocos2dx学习笔记(1)Ref类型数据垃圾回收机制-创新互联
文章转载:http://bjjierui.cn/article/dsppgd.html

其他资讯