Runloop是面试中的重点,也是开发过程中对性能优化的点
如果没有RunLoop
int main(int argc, const char * argv[]) {
NSLog(@"Hello World!");
return 0;
}
执行完第3行代码后,会即将退出程序
如果有了RunLoop
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
程序并不会马上退出,而是保持运行状态
RunLoop的基本作用
- 保持程序的持续运行
- 处理App中的各种事件(比如触摸事件、定时器事件等)
- 节省CPU资源,提高程序性能:该做事时做事,该休息时休息