美文网首页日常收录
iOS开发-懒人计划-监听App进程被杀死

iOS开发-懒人计划-监听App进程被杀死

作者: New_Driver | 来源:发表于2019-08-27 17:54 被阅读0次

在 AppDelegate 里面,代理方法

- (void)applicationWillTerminate:(UIApplication *)application {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

是App进程被杀死的时候的代理方法,在这里开发者可以处理相应的业务逻辑。
在实际应用过程中,App进程被杀死有两种可能:
1.手动杀掉进程(双击Home键,出现多任务界面,上滑需要杀掉的App)。
2.系统杀掉进程(App在后台的时候:若手机内存不足,系统会自动杀掉进程;若手机内存正常,则测试时间约180秒后,系统杀掉进程)。

手动杀死进程的时候,会执行applicationWillTerminate: 方法。
系统杀死进程的时候,需要在applicationDidEnterBackground: 方法中添加一句代码

- (void)applicationDidEnterBackground:(UIApplication *)application {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
    [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^(){}];
}

这样在正常的情况下,app进程被杀死,就会响应applicationWillTerminate: 了。
不正常的情况就是程序崩溃,就不会响应这个方法了,那就需要单独处理崩溃情况下的业务逻辑了。

相关文章

网友评论

    本文标题:iOS开发-懒人计划-监听App进程被杀死

    本文链接:https://www.haomeiwen.com/subject/jcfyectx.html