文章

Cocos2dx life cycle

介绍使用cocos2d-x的程序正常启动、回到后台,回到前台、强制退出的生命周期

1、Cocos2dx - C++ 层

1
2
3
4
5
6
7
8
bool AppDelegate::applicationDidFinishLaunching(){
}

void AppDelegate::applicationWillEnterForeground(){
}

void AppDelegate::applicationDidEnterBackground(){
}

2、iOS - AppController - Object-C 层

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
}

- (void)applicationWillResignActive:(UIApplication *)application {
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
}

- (void)applicationWillTerminate:(UIApplication *)application {
}

3、Andorid - Activity - Java层

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class MainActivity extends Cocos2dxActivity{
     protected void onCreate(Bundle savedInstanceState){
     }

@Override
    protected void onResume() {
super.onResume();
}

@Override
    protected void onPause() {
super.onPause();
}

@Override
    protected void onStart() {
super.onStart();
}

@Override
    protected void onStop() {
super.onStop();
}

}

4、调试

4.1、正常启动执行顺序:

4.1.1 iOS didFinishLaunchingWithOptions(objc) applicationDidFinishLaunching(c++) applicationDidBecomeActive

4.1.2 Android onCreate onStart onResume applicationDidFinishLaunching

4.2、退出后台

4.2.1 iOS applicationWillResignActive(objc) applicationDidEnterBackground(objc) applicationDidEnterBackground(c++)

4.2.2 Android onPause onStop applicationDidEnterBackground

4.3、再次启动

4.3.1 iOS applicationWillEnterForeground(objc) applicationWillEnterForeground(c++) applicationDidBecomeActive(objc)

4.3.2 Android onStart onResume applicationWillEnterForeground

4.4、中断程序

4.4.1 iOS

applicationWillResignActive(objc) applicationDidEnterBackground(objc) applicationDidEnterBackground(c++) applicationWillTerminate(objc)

4.4.2 Android

onPause applicationDidEnterBackground(c++) onStop

本文由作者按照 CC BY 4.0 进行授权