以下是几种程序在使用时进入或退出调用函数的步骤,在进行上述操作时
UIApplicationDelegate委托会收到通知,你可以重写以下方法,在当时的状态下记录时间戳,保存数据等。
(记录一个程序的使用时间,只需要在5变为活跃状态 和 2将变为非活跃状态时记录当时的时间戳,差值即为程序使用时间。)
新安装一个程序并启动:
1启动程序;
5变为活跃状态
点击一次home键:
2将变为非活跃状态;
3进入后台
承接以上,复原程序:
4由后台进入前台;
5变为活跃状态
直接锁屏:
2将变为非活跃状态;(质疑:有时候没有执行2)
3进入后台
承接以上,开启锁屏:
4由后台进入前台;
5变为活跃状态
点击两次home键:
2将变为非活跃状态;
点击两次home键后,杀死操作(杀死程序):
3进入后台;
6程序被杀死
有电话进入:
2将变为非活跃状态;
电话挂断:
5变为活跃状态
AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"+++1,启动程序,didFinishLaunchingWithOptions");
[NSThread sleepForTimeInterval:1];
/* 设置YrApp的启动参数,比如executor分享的相关环境参数*/
[[YrApp sharedApp] startup];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
NSLog(@"+++2,将变为非活跃状态,applicationWillResignActive");
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
NSLog(@"+++3,进入后台,applicationDidEnterBackground");
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
NSLog(@"+++4,由后台进入前台,applicationWillEnterForeground");
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"+++5,变为活跃状态,applicationDidBecomeActive");
}
- (void)applicationWillTerminate:(UIApplication *)application {
NSLog(@"+++6,程序被杀死,applicationWillTerminate");
}