cocos2d-x 从onEnter、onExit、 引用计数 谈内存泄露问题
struct IListItem:
{
//how we draw this item
virtual cocos2d::CCNode *createNode(float width) = ;
virtual ~IListItem() {}
};
class FightItem : public IListItem
{
public: FightItem(const DailyProperty &dp);
~FightItem();
virtual cocos2d::CCNode *createNode(float width);
virtual void onExit();
void selected();
void unselected(); static FightItem *itemWithFight(const DailyProperty &dp);
const DailyProperty &getDailyProperty()
{
return m_dp;
} private:
cocos2d::CCNode *m_node;
};
class FightItem : public IListItem, cocos2d::CCObject
{
public: FightItem(const DailyProperty &dp);
~FightItem();
virtual cocos2d::CCNode *createNode(float width);
virtual void onExit();
void selected();
void unselected(); static FightItem *itemWithFight(const DailyProperty &dp);
const DailyProperty &getDailyProperty()
{
return m_dp;
} private:
cocos2d::CCNode *m_node;
void change();
};
CCScheduler::sharedScheduler()->scheduleSelector(
schedule_selector(FightItem::showTimeDescription), this, 0.5f, false);
FightItem::~FightItem()
{
CCScheduler::sharedScheduler()->unscheduleSelector(
schedule_selector(FightItem::showTimeDescription), this);
if(m_node) m_node->release();
}
struct IListItem:public cocos2d::CCObject
{
//how we draw this item
virtual cocos2d::CCNode *createNode(float width) = ;
virtual ~IListItem() {}
virtual void onExit() {}
}; FightItem::~FightItem()
{
if(m_node) m_node->release();
} void FightItem::onExit()
{
CCScheduler::sharedScheduler()->unscheduleSelector(
schedule_selector(FightItem::showTimeDescription), this);
}
void CCImageBtn::onEnter()
{
CCNode::onEnter();
CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this, m_touchPriority, true);
} void CCImageBtn::onExit()
{
CCTouchDispatcher::sharedDispatcher()->removeDelegate(this);
CCNode::onExit();
}
cocos2d-x 从onEnter、onExit、 引用计数 谈内存泄露问题的更多相关文章
- 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...
- Qt浅谈内存泄露(总结)
Qt浅谈内存泄露(总结) 来源 http://blog.csdn.net/taiyang1987912/article/details/29271549 一.简介 Qt内存管理机制:Qt 在内部能够维 ...
- 关于lua闭包导致引用无法释放内存泄露
最近项目存在严重的内存泄漏问题,每次切level 会增加20M无法释放的内存,翻遍了项目用了多个工具,查询资料等 发现项目中两种存在内存泄露的情况 1.lua闭包的不当使用,对比包的引用要及时 释放. ...
- 深入理解 PHP7 中全新的 zval 容器和引用计数机制
深入理解 PHP7 中全新的 zval 容器和引用计数机制 最近在查阅 PHP7 垃圾回收的资料的时候,网上的一些代码示例在本地环境下运行时出现了不同的结果,使我一度非常迷惑. 仔细一想不难发现问题所 ...
- COM编程之四 引用计数
[1]客户为什么不应直接控制组件的生命期? 假设一个组件A正在使用另一个组件B,可想组件A(客户)代码中肯定有若干个指向组件B接口的指针. 那么这种情况下,当使用完一个接口而仍然在使用另一个接口时,是 ...
- ARC————自动引用计数
一.内存管理/引用计数 1.引用计数式内存管理的方式(下面四种) 对象操作 OC方法 生成并持有对象 alloc/new/copy/mutableCopyd等方法 持有对象 retain方法 释放对象 ...
- iOS中引用计数内存管理机制分析
在 iOS 中引用计数是内存的管理方式,虽然在 iOS5 版本中,已经支持了自动引用计数管理模式,但理解它的运行方式有助于我们了解程序的运行原理,有助于 debug 程序. 操作系统的内存管理分成堆和 ...
- cocos2dx中的内存管理机制及引用计数
1.内存管理的两大策略: 谁申请,谁释放原则(类似于,谁污染了内存,最后由谁来清理内存)--------->适用于过程性函数 引用计数原则(创建时,引用数为1,每引用一次,计数加1,调用结束时, ...
- php 垃圾回收机制----写时复制和引用计数
PHP使用引用计数和写时复制来管理内存.写时复制保证了变量间复制值不浪费内存,引用计数保证了当变量不再需要时,将内存释放给操作系统. 要理解PHP内存管理,首先要理解一个概念----符号表. 符号表的 ...
随机推荐
- 几条特殊的SQL语句
1, 有case情况. select trunc(exf_payment_receipt.work_date),exf_payment_receipt.exchange_code,exf_paymen ...
- [JavaScript] 怎么使用JS禁止复制粘贴
1. 将彻底屏蔽鼠标右键,其实是禁止快捷菜单,因为不光右键可以弹出这个菜单,键盘上空格键右边的windows键也可以激活这个快捷菜单 <table border oncontextmenu=re ...
- sjtu1585 oil
Description Crystal家的公司最近承包了一个大油田.整块油田为一个矩形区域,被划分为\(n \times m\)个小块. Crystal亲自调查了每个小块的石油储备量.这些数据表示为\ ...
- Unity3d 调用C++的DLL
原地址:http://www.cnblogs.com/alongu3d/archive/2013/04/20/3031904.html Unity 3D 调用DLL的方法 本文转载:渡蓝的博客园 ht ...
- 优化函数式编程:向 PHP 移植 Clojure 函数
许多通用程序设计语言试图兼容大多数编程范式,PHP 就属于其中之一.不论你想要成熟的面向对象的程序设计,还是程序式或函数式编程,PHP 都可以做到.但我们不禁要问,PHP 擅长函数式编程吗?本文系国内 ...
- MSSql2008打开企业管理器出错,具体显示提示无法识别的配置节 system.serviceModel。
MSSql2008打开企业管理器出错详细信息: 标题: 已注册的服务器 ------------------------------ 无法读取此系统上以前注册的服务器的列表.请在“已注册的服务器” ...
- LinuxShell_variable+if+while
[root@ossec-server mybash]# vim ./hello.sh #! /bin/sh # This is a example bash script echo "Hel ...
- 测试ODBC与OLE
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data. ...
- 【原创】MIPS·Verilog·FPGA
时至今日,终于将全部的计划55条MIPS指令在FPGA上全部验证完毕,通过这近一个月的不断的修改调试.修改调试,我对整个流程对MIPS有了深刻的体会和认识.借着刚刚现阶段任务的兴奋和短暂的空闲时间,将 ...
- 【Pyhton Network】使用poll()或select()实现非阻塞传输
通常情况下,socket上的I/O会阻塞.即除非操作结束,否则程序不会照常进行.而以下集中情况需要在非阻塞模式下进行:1. 网络接口在等待数据时是活动的,可以做出相应:2. 在不使用线程或进程的情况下 ...