应用程序启动原理
来源:互联网 发布:淘宝明星店铺 编辑:程序博客网 时间:2024/05/17 02:48
整理印象笔记之 应用程序启动原理
int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); }}
1、执行main函数,在mian函数中执行UIApplicationMain函数
2、在mian函数中创建UIApplication对象
2、创建UIDelegate对象,并成为UIApplication对象代理,
3、开启一个主运行循环,处理事件(Runloop)
4、加载info.plist,并且判断有没有指定的mian.storyboard,如果指定就去加载,如果没有则需要在AppDelegate的程序启动完成只会代码加载
在加载storyboard时会作以下操作
- 创建一个窗口
- 加载main.storyboard,并且加载 main.storyboard指定的控制器
- 把新创建的控制器作为窗口的控制器显示出来
没有指定main则在代码里加载
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //创建窗口(必须要有尺寸且不可被释放) self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds]; //创建窗口的控制器 UIViewController *vc = [[UIViewController alloc]init]; //设置窗口根控制器 self.window.rootViewController = vc; //窗口的显示 [self.window makeKeyWindow]; return YES;}
5、监听系统事件(AppDelegate里的那些系统方法)
@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { return YES;}- (void)applicationWillResignActive:(UIApplication *)application {}- (void)applicationDidEnterBackground:(UIApplication *)application {}- (void)applicationWillEnterForeground:(UIApplication *)application {}- (void)applicationDidBecomeActive:(UIApplication *)application {}- (void)applicationWillTerminate:(UIApplication *)application {}@end
6、iOS程序启动完后,创建的第一个视图控件就是UIWindow,接着创建控制器的View,将控制器的View添加至UIWindow上,
阅读全文
0 0
- 应用程序启动原理
- 应用程序启动原理
- iOS应用程序的启动原理-UI进阶
- iOS 应用程序启动原理(顺序)
- LoadRunner运行原理浅析(1)-启动应用程序
- iOS应用程序的完整启动过程及其工作原理
- iOS之应用程序启动过程及原理总结
- 启动应用程序
- 启动应用程序
- 应用程序原理
- ASP.NET Core 中文文档 第三章 原理(1)应用程序启动
- 启动新的应用程序
- Symbian应用程序启动顺序
- Symbian应用程序启动顺序
- Symbian应用程序启动顺序
- Symbian应用程序启动顺序
- Symbian应用程序启动顺序
- Symbian应用程序启动顺序
- 简单易懂的自动编码器
- 用Hibernate保存对象出现c3p0数据库连接池死锁问题的可能原因
- js跨浏览器添加移除事件
- easyui pagination spring boot 分页程序实现
- PHP学习快速入门
- 应用程序启动原理
- 判断一个数是不是丑数。
- 【深度】从朴素贝叶斯到维特比算法:详解隐马尔科夫模型
- Django中使用pymsql
- 洛谷P2912 [USACO08OCT]牧场散步Pasture Walking
- 北大学霸:高考有漏洞可钻,学会套路,立马提分,屡试不爽!
- 浅析PageRank算法
- Android多渠道打包没你想的那么复杂
- Swarm 如何实现 Failover?- 每天5分钟玩转 Docker 容器技术(98)