您的位置:首页 > 移动开发

简单分析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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: