简单分析AppDelegate生命周期
2014-04-06 15:59
288 查看
[align=left]应用程序都有生命周期管理。比如Android应用程序的OnStart, OnStop, OnCreate等周期方法。同样,Cocos2D-X 也有它的生命周期。 [/align]
[align=left]下面通过代码分析下它的生命周期。[/align]
[align=left]定义一个类 LifeCircleLogger. [/align]
[align=left]// LifeCircleLogger.h[/align]
[align=left]using namespace std;[/align]
[align=left]class LifeCircleLogger[/align]
[align=left]{[/align]
[align=left] string m_msg;[/align]
[align=left]public:[/align]
[align=left] LifeCircleLogger();[/align]
[align=left] ~LifeCircleLogger();[/align]
[align=left] LifeCircleLogger(const string& msg); [/align]
[align=left] [/align]
[align=left]};[/align]
[align=left]#define LOG_FUNCTION_LIFE LifeCircleLogger(__FUNCTION__)[/align]
[align=left]// LifeCircleLogger.cpp[/align]
[align=left]#include "LifeCircleLogger.h"[/align]
[align=left]LifeCircleLogger::LifeCircleLogger()[/align]
[align=left]{[/align]
[align=left]}[/align]
LifeCircleLogger::LifeCircleLogger(const string&
msg): m_msg(msg)
[align=left]{[/align]
cocos2d::CCLog( "%s BEGINS!" ,
m_msg.c_str());
[align=left]}[/align]
[align=left]LifeCircleLogger::~LifeCircleLogger()[/align]
[align=left]{[/align]
cocos2d::CCLog( "%s ENDS!" ,
m_msg.c_str());
[align=left]}[/align]
[align=left]然后进入AppDelegate.cpp, 在生命周期方法:[/align]
[align=left]AppDelegate::AppDelegate()[/align]
[align=left]AppDelegate::~AppDelegate()[/align]
[align=left]bool AppDelegate::applicationDidFinishLaunching()[/align]
[align=left]void AppDelegate::applicationDidEnterBackground()[/align]
[align=left]void AppDelegate::applicationWillEnterForeground()[/align]
添加宏 LOG_FUNCTION_LIFE
运行程序后我们就可以在控制台输出中得到Cocos2d-x的生命周期运行原理了。[ 如上图所示 ]
[align=left]OK, 这里的生命周期分析对于其他应用也是同样有效的,算一个小工具把。[/align]
[align=left]下面通过代码分析下它的生命周期。[/align]
[align=left]定义一个类 LifeCircleLogger. [/align]
[align=left]// LifeCircleLogger.h[/align]
[align=left]using namespace std;[/align]
[align=left]class LifeCircleLogger[/align]
[align=left]{[/align]
[align=left] string m_msg;[/align]
[align=left]public:[/align]
[align=left] LifeCircleLogger();[/align]
[align=left] ~LifeCircleLogger();[/align]
[align=left] LifeCircleLogger(const string& msg); [/align]
[align=left] [/align]
[align=left]};[/align]
[align=left]#define LOG_FUNCTION_LIFE LifeCircleLogger(__FUNCTION__)[/align]
[align=left]// LifeCircleLogger.cpp[/align]
[align=left]#include "LifeCircleLogger.h"[/align]
[align=left]LifeCircleLogger::LifeCircleLogger()[/align]
[align=left]{[/align]
[align=left]}[/align]
LifeCircleLogger::LifeCircleLogger(const string&
msg): m_msg(msg)
[align=left]{[/align]
cocos2d::CCLog( "%s BEGINS!" ,
m_msg.c_str());
[align=left]}[/align]
[align=left]LifeCircleLogger::~LifeCircleLogger()[/align]
[align=left]{[/align]
cocos2d::CCLog( "%s ENDS!" ,
m_msg.c_str());
[align=left]}[/align]
[align=left]然后进入AppDelegate.cpp, 在生命周期方法:[/align]
[align=left]AppDelegate::AppDelegate()[/align]
[align=left]AppDelegate::~AppDelegate()[/align]
[align=left]bool AppDelegate::applicationDidFinishLaunching()[/align]
[align=left]void AppDelegate::applicationDidEnterBackground()[/align]
[align=left]void AppDelegate::applicationWillEnterForeground()[/align]
添加宏 LOG_FUNCTION_LIFE
运行程序后我们就可以在控制台输出中得到Cocos2d-x的生命周期运行原理了。[ 如上图所示 ]
[align=left]OK, 这里的生命周期分析对于其他应用也是同样有效的,算一个小工具把。[/align]
相关文章推荐
- 关于 AppDelegate 、UIApplication 简单的用法
- AppDelegate生命周期
- Swift:一个简单的货币转换器App在iOS10中的分析和完善
- iOS appDelegate 生命周期
- iOS程序生命周期 AppDelegate
- Fragment生命周期的简单分析
- IOS应用程序生命周期的AppDelegate详解
- Swift:一个简单的货币转换器App在iOS10中的分析和完善
- Duilib中CEventSource及CDelegate(事件委托)的简单分析
- Info.plist和pch文件的作用,UIApplication,iOS程序的启动过程,AppDelegate 方法解释,UIWindow,生命周期方法
- 2.4 AppDelegate 的 3 个生命周期
- AppDelegate中的生命周期事件的调用条件
- Appdelegate和Windos内容的简单介绍
- iOS-AppDelegate中回调方法简单介绍
- AppDelegate 内的方法在APP生命周期触发的时机和顺序
- Activity生命周期的简单分析
- 关于AppDelegate及内部方法的简单介绍
- AppDelegate及内部方法的简单介绍
- Info.plist和pch文件的作用,UIApplication,iOS程序的启动过程,AppDelegate 方法解释,UIWindow,生命周期方法