美文网首页
Runloop_1 基本概念

Runloop_1 基本概念

作者: edison0428 | 来源:发表于2018-08-03 23:53 被阅读11次

Runloop是一个运行循环机制,是iOS底层机制,在程序开启的时候,这个运行循环就已经开启了

先来个开胃菜

int main(int argc, char * argv[]) {
    @autoreleasepool {
        
        NSLog(@"11111");
        int a = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
        
        NSLog(@"22222");
        return a;
    }
    /*
     11111 打印出来了
     22222 并没有打印出来
     因为只要[[NSRunLoop currentRunLoop] run];
     这句代码之后的代码就不会执行,因为一直堵在循环之外
     说明在UIApplicationMain就已经开启了runloop 声明一点runloop并没有默认开启一说
     我的理解是在UIApplicationMain里
     做了开启一条主线程
     并且开启主线程的runloop的操作
     */
}

关于UIApplicationMain有关添加Runloop的解释

image.png

如果没有Runloop,app程序不会活着的,原因如下

  • main开启里一条线程,这条线程是这个app的主线程
  • 这个主线程是一个常驻线程,不会退出,为什么常驻?是因为这条线程上面的Runloop被开启了
Runloop的作用
  • 保证线程不退出(保证主线程不退出就意味着保证应用程序不退出)
  • 负责监听所有的事件!!!(触摸事件(ui事件) 时钟 网络事件)

相关文章

  • Runloop_1 基本概念

    Runloop是一个运行循环机制,是iOS底层机制,在程序开启的时候,这个运行循环就已经开启了 先来个开胃菜 关于...

  • boost - 指针容器

    ptr_vector指针向量基本概念 ptr_vector指针向量 基本概念 Boost学习之指针容器 基本概念:...

  • 核武器基本概念及分类 - Part. 1

    【核武器基本概念及分类】Part. 1 目录: 核武器基本概念及分类 - Part. 1 核武器基本概念及分类 -...

  • 核武器基本概念及分类 - Part. 2

    【核武器基本概念及分类】Part. 2 目录: 核武器基本概念及分类 - Part. 1 核武器基本概念及分类 -...

  • 核武器基本概念及分类 - Part. 3

    【核武器基本概念及分类】Part. 3 目录: 核武器基本概念及分类 - Part. 1 核武器基本概念及分类 -...

  • 面向对象

    基本概念

  • OpenGL基本概念(知识)

    OpenGL基本概念 基本概念与说明 基本概念 OpenGL是一个图形API,用来绘制三维物体(也可以是2D物体)...

  • 20170904 SELinux

    SELinux的基本概念设置SELinux 一、SELinux的基本概念 (一)定义: SELinux:Secur...

  • IO流

    # 3.1 File # ## 3.1.1 File基本概念 ## 1.基本概念 -File类用于表示文件(目录)...

  • docker基本概念

    1.4 Docker基本概念docker包含三个基本概念: 镜像(Image) 容器(Container) 仓库(...

网友评论

      本文标题:Runloop_1 基本概念

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