iOS开发——生命周期

为了处理好应用程序的挂起、暂停等情况下的数据保存,或对应添加所需处理,我们必须了解ios生命周期。

但是不要去背去记,做个实验就好。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    NSLog(@"程序开始");
    return YES;
}
                            
- (void)applicationWillResignActive:(UIApplication *)application
{
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
    NSLog(@"程序暂停");
}

- (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.
    NSLog(@"程序进入后台");
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
    NSLog(@"程序进入前台");
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
    NSLog(@"程序再次激活");
}

- (void)applicationWillTerminate:(UIApplication *)application
{
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    NSLog(@"程序意外终止");
}

实验结果:

1.首次启动应用程序:

2012-06-26 11:06:39.313 WQTest[485:17903] 程序开始

2012-06-26 11:06:39.320 WQTest[485:17903] 程序再次激活

2.摁HOME键退出:

2012-06-26 11:08:08.687 WQTest[485:17903] 程序暂停

2012-06-26 11:08:08.690 WQTest[485:17903] 程序进入后台

 

3.再次进入程序:

2012-06-26 11:09:11.047 WQTest[485:17903] 程序进入前台

2012-06-26 11:09:11.049 WQTest[485:17903] 程序再次激活

时间: 2024-10-12 21:50:00

iOS开发——生命周期的相关文章

图解ios程序生命周期

图解ios程序生命周期 应用程序启动后状态有Active.Inactive.Background.Suspended.Not running这5种状态,几种状态的转换见下图: 在AppDelegate中实现app状态变化时的回调函数,在 app状态发生变化时,系统会执行相应回调: - (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions

IOS ViewController生命周期

ViewController ViewController是IOS开发中MVC模式中的C,ViewController是view的controller,ViewController的职责主要包括管理内部各个view的加载显示和卸载,同时负责与其他ViewController的通信和协调. 在IOS中,有两类ViewController,一类是显示内容的,比如UIViewController.UITableViewController等,同时还可以自定义继承自UIViewController的Vi

IOS的生命周期问题

开发Android必须得清楚Android生命周期才能很好的掌控程序的框架,让整个项目思路更加清晰流畅,因此IOS也是必须要了解IOS的生命周期 先从一个简单的实例来看看 AppDelegate.m文件里面的内容如下: // // AppDelegate.m // SwitchView // // Created by Pishum on 15/5/5. // Copyright (c) 2015年 Pishum. All rights reserved. // #import "AppDele

IOS Application生命周期

应用程序的状态 Not running(未运行):程序没启动 Inactive(未激活):程序在前台运行,不过没有接收到事件.在没有事件处理情况下程序通常停留在这个状态 Active(激活):程序在前台运行而且接收到了事件.这也是前台的一个正常的模式 Backgroud(后台):序在后台而且能执行代码,大多数程序进入这个后台后会在在这个状态上停留一会.时间到之后会进入挂起状态(Suspended).有的程序经过特殊的请求后可以长期处于Backgroud状态 Suspended(挂起):程序在后台

软件开发生命周期中测试的使用情况

软件开发的生命周期主要包括以下的阶段: 1.问题定义. 2.可行性研究. 3.需求分析. 4.概要设计. 5.详细设计. 6.编码和单元测试. 7.综合测试. 8.软件维护 以上就是一个软件开发的完整生命周期,能比较明显的看出,到详细设计为止,之前的阶段很少涉及到测试的环节,从编码实现开始,测试就开始贯穿之后的阶段,编码实现中,用的最多的就是单元测试,编码人员或测试人员主要通过一些测试用例来检测编写的代码块是否实现了所需要的功能,但是单元测试中又分为黑盒测试和白盒测试,黑盒测试是不知道内部的详细

讲讲项目开发生命周期

项目开发生命周期: 一:软件项目开发模式 螺旋开发模式: 螺旋开发模式 适合,项目前期 需求不确定的情况下: 对于每一个模块,一个个开发,进行分析,设计,编码,测试,上线. 好处; keyi可以 有效的 降低 软件风险,我尽量 做出来的产品尽量满足客户需求: 瀑布模式: 瀑布 模式:就是先进行 所有模块的 项目需求分析,当分析结束后,才进入项目的下一个阶段,即 设计,编码,测试,上线. 好处:更容易 进行 项目把控,和项目质量控制! 对项目质量非常高的 设计到军方的 都是瀑布 都是 这样的开发

以软件开发生命周期的过程来说明不同测试的使用情况

此图为软件开发生命周期的模型图,下面以此图为例说明在软件开发生命周期各个阶段所使用的测试类型的异同. 1.在最初的原始计划制定阶段,需要进行文档编写测试. 2.开始参考某些软件原型并编写需求计划时,要进行手工测试来提取原型的优缺点,以及文档编写测试.每一次参考原型和风险分析时都需要进行所说的测试. 3.最终确定需要的开发计划,需要文档编写测试. 4.详细设计阶段:进行数据和数据库完整性测试. 5.编码阶段:依次进行单元测试.集成测试.系统测试,并穿插着功能测试和性能测试. 6.组装测试阶段:进行

软件开发生命周期总结

软件开发生命周期过程 软件开发的标准过程包括六个阶段,而六个阶段需要编写的各类文件达14种之多,在每个阶段需要编写哪些文件,以及这些文件的主要内容见下: 1.可行性与计划研究阶段 可行性研究报告:在可行性研究与计划阶段内,要确定该软件的开发目标和总的要求,要进行可行性分析.投资一收益分析.制订开发计划,并完成应编制的文件. 项目开发计划:编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员.开发进度. 所需经费预算.所需软.硬件条件等问题作出的安排记载下来,以便根据本计划开

软件开发生命周期及文档

软件开发,同任何事物一样要经历孕育.诞生.成长.成熟.结束等阶段,称之为软件开发生命周期. 通常,软件开发生命周期包括可行性分析与项目开发计划.需求分析.设计.编码.测试.发布维护等. 1)可行性分析与项目开发计划 这个阶段主要确定软件开发的目标及其可行性,明确要解决的问题及解决办法,以及解决问题需要的费用.资源.时间.要进行问题定义.可行性分析,制定项目开发计划. 该阶段产生的文档主要有可行性分析报告(一般很少需要)和项目开发计划. 2)需求分析 需求分析是明确软件系统要做什么,确定软件系统的