首页 > 代码库 > iOS之UIApplication详解(2)
iOS之UIApplication详解(2)
1 // 2 3 // AppDelegate.m 4 5 // AppDelegate 6 7 // 8 9 // Created by apple on 13-7-10. 10 11 // Copyright (c) 2013年 itcast. All rights reserved. 12 13 // 14 15 16 17 #import "AppDelegate.h" 18 19 20 21 #import "ViewController.h" 22 23 24 25 @implementation AppDelegate 26 27 28 29 - (void)dealloc 30 31 { 32 33 [_window release]; 34 35 [_viewController release]; 36 37 [super dealloc]; 38 39 } 40 41 42 43 #pragma mark app加载完毕(默认情况下,只会打印1次) 44 45 // launchOptions : 包含应用启动的一些信息(比如通过点击通知打开应用) 46 47 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 48 49 { 50 51 self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 52 53 // Override point for customization after application launch. 54 55 self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease]; 56 57 self.window.rootViewController = self.viewController; 58 59 [self.window makeKeyAndVisible]; 60 61 62 63 NSLog(@"didFinishLaunchingWithOptions--app加载完毕"); 64 65 return YES; 66 67 } 68 69 70 71 #pragma mark 失去焦点 72 73 // 程序进入Inactive状态 74 75 - (void)applicationWillResignActive:(UIApplication *)application 76 77 { 78 79 NSLog(@"applicationWillResignActive-未激活"); 80 81 } 82 83 84 85 #pragma mark 进入后台 86 87 // 一般在这个方法中保存数据 88 89 - (void)applicationDidEnterBackground:(UIApplication *)application 90 91 { 92 93 NSLog(@"applicationDidEnterBackground-进入后台"); 94 95 96 97 // 让程序保持后台运行状态 98 99 [application beginBackgroundTaskWithExpirationHandler:^{100 101 NSLog(@"后台运行时间到期了");102 103 }];104 105 106 107 // 取消所有的通知108 109 [application cancelAllLocalNotifications];110 111 112 113 UILocalNotification *note = [[[UILocalNotification alloc] init] autorelease];114 115 // 设置通知的文字116 117 note.alertBody = @"赶紧回来吧,哥!";118 119 // 设置通知出现的时间间隔120 121 note.repeatInterval = NSMinuteCalendarUnit;122 123 // 设置通知出现的声音124 125 // note.soundName = @"xxx.wav";126 127 // 设置通知第一次出现的时间128 129 note.fireDate = [NSDate dateWithTimeIntervalSinceNow:4];130 131 132 133 // 发布通知134 135 // [application presentLocalNotificationNow:<#(UILocalNotification *)#>];136 137 [application scheduleLocalNotification:note];138 139 }140 141 142 143 #pragma mark 进入前台144 145 - (void)applicationWillEnterForeground:(UIApplication *)application146 147 {148 149 NSLog(@"applicationWillEnterForeground-进入前台");150 151 }152 153 154 155 #pragma mark 当app被激活(获得了焦点,可以跟用户进行交互)156 157 // 这时候程序处于:Running状态158 159 - (void)applicationDidBecomeActive:(UIApplication *)application160 161 {162 163 NSLog(@"applicationDidBecomeActive-正在运行");164 165 }166 167 168 169 #pragma mark 当app接收到内存警告170 171 // 一般在这里回收不必要内存172 173 // 1.很容易就创建回来的对象174 175 // 2.占用内存很大的对象176 177 - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {178 179 NSLog(@"applicationDidReceiveMemoryWarning-内存警告");180 181 }182 183 184 185 186 187 #pragma mark 当程序处于后天运行状态,并且程序被关闭了就会调用188 189 - (void)applicationWillTerminate:(UIApplication *)application190 191 {192 193 NSLog(@"applicationWillTerminate--程序被关闭");194 195 }196 197 @end198 199
iOS之UIApplication详解(2)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。