程序使用状态(启动程序、杀死程序、进入后台、复原程序 等)(IOS开发)

本文介绍了iOS应用在不同状态下,如启动、按下Home键、锁屏、接电话等场景下,UIApplicationDelegate代理接收到的通知及相应的方法。通过记录特定状态的时间戳,可以计算程序的使用时间。详细涵盖了didFinishLaunchingWithOptions、applicationWillResignActive、applicationDidEnterBackground、applicationWillEnterForeground、applicationDidBecomeActive和applicationWillTerminate等方法的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是几种程序在使用时进入或退出调用函数的步骤,在进行上述操作时  

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");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值