主运行循环

主运行循环负责处理所有跟用户操作相关的事件,主运行循环在程序启动时被 UIApplication 对象创建,运行在主线程上,用来处理事件和更新基于View的UI。

当用户与设备交互时,操作系统生成相关的事件,然后通过一个由 UIKit
创建的端口,交给App。事件先加入事件队列,然后一个一个的交给主运行循环去处理。UIApplication 对象是第一个接收到事件的对象。

大部分类型的事件会交给App。但是有些事件不会,比如加速度计事件会直接交给定义的加速度代理对象去处理。

主运行循环

时间: 2024-08-03 06:32:36

主运行循环的相关文章

主运行循环main run loop的一些理解

应用主运行循环负责处理所有用户相关的事件.UIApplication对象在应用启动时安装主运行循环并且使用此循环去处理事件和处理基于视图的界面更新.正如名字所表明的,该主运行循环是在应用的主线程app's main thread中运行的.以此保证所有用户事件是按照它们被接收时的顺序串行的执行. 下图展示了主运行循环的结构以及用户事件如何导致了应用行为.当用户和应用交互时,和这些交互相关的事件由系统自动产生并且借助UIKit设定的特殊端口传递给应用.事件在应用内部以队列的形式存在并且一个一个的被分

QObject::deleteLater()并没有将对象立即销毁,而是向主消息循环发送了一个event,下一次主消息循环收到这个event之后才会销毁对象 good

程序编译运行过程很顺利,测试的时候也没发现什么问题.但后来我随手上传了一个1G大小的文件,发现每次文件上传到70%左右的时候程序就崩溃了,小文件就没这个问题.急忙打开任务管理器,这才发现上传文件的时候,程序内存占用会随着上传进度的增加而增加,上传1G文件的时候内存最多会吃到1.5G,这时候程序申请不到更多内存了,我又没做检查,当然就会崩溃掉. 限制上传文件大小这种事我是不会做的,毕竟一个上传工具占用内存比PS都高实在不科学.注意到文件上传完成之后内存会立即回到正常值,显然原因并不是我忘记释放内存

Runloop 运行循环

什么是RunLoop 运行循环 一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(懒加载, 调用currentRunLoop方法) RunLoop只能选择一个Mode启动,如果当前Mode中没有任何Source(Sources0.Sources1).Timer,那么就直接退出RunLoop RunLoop作用 保持程序的持续运行 处理App中的各种事件(比如触摸事件.定时器事件.Selector事件) 节省CPU资源,提高程序性能:该做事时做事

iOS开发 底层抛析运行循环—— RunLoop

http://blog.csdn.net/zc639143029/article/details/50012527 一.RunLoop基本概念 概念:程序的运行循环,通俗的来说就是跑圈. 1. 基本作用(作用重大) (1) 保持程序的持续运行(ios程序为什么能一直活着不会死) (2) 处理app中的各种事件(比如触摸事件.定时器事件[NSTimer].selector事件[选择器·performSelector···]) (3)节省CPU资源,提高程序性能,有事情就做事情,没事情就休息 2.

RunLoop运行循环机制

http://www.jianshu.com/p/0be6be50e461 基本概念 进程 进程是指在系统中正在运行的一个应用程序,而且每个进程之间是独立的,它们都运行在其专用且受保护的内存空间内,比如同时打开迅雷.Xcode,系统就会分别启动两个进程. 线程 一个人进程如果想要执行任务,必须得有至少一条线程,进程的所有任务都会在线程中执行,比如使用网易云音乐播放音乐,使用迅雷下载电影,都需要在线程中执行. 主线程 iOS 程序运行后,系统会默认开启一条线程,称为“主线程”或者“UI 线程”,主

运行循环(Run Loops)

运行循环是与线程相关的基础工具的一部分.运行循环是一个用来安排工作并协调传入事件接收的一个事件处理循环.运行循环的目的是当需要工作的时候,让你的线程处于忙碌状态:当没有工作时,让你的线程处于睡眠状态. 运行循环管理并不是完全自动运行,你必须设计线程代码在适当的时间启动运行循环并响应传入的事件.Cocoa和核心基础提供运行循环对象来帮助你配置和管理你的线程运行循环.你的引用不需要显式的创建这些对象,每个线程,包括应用的主线程都有一个关联的运行循环对象.然而,只有次要线程需要显式的运行他们的运行循环

Chromium on Android: Android系统上Chromium主消息循环的实现分析

摘要:刚一开始接触Chromium on Android时,就很好奇Chromium的主消息循环是怎么整合到Android应用程序中的.对于Android程序来说,一旦启动,主线程就会有一个Java层的消息循环处理用户输入事件等系统事件,而对Chromium来说,它有自己另一套消息循环的实现,这个实现有哪些特点,又将如何无缝整合到Android Java层的消息循环中去,正是本文所要讨论的话题. 原创文章系列,转载请注明原始出处为http://blog.csdn.net/hongbomin/ar

Chromium on Android: Android在系统Chromium为了实现主消息循环分析

总结:刚开始接触一个Chromium on Android时间.很好奇Chromium主消息循环是如何整合Android应用. 为Android计划,一旦启动,主线程将具有Java消息层循环处理系统事件,如用户输入事件,而Chromium为,己还有一套消息循环的实现,这个实现有哪些特点.又将怎样无缝整合到Android Java层的消息循环中去,正是本文所要讨论的话题. 原创文章系列.转载请注明原始出处为http://blog.csdn.net/hongbomin/article/details

Runloop(运行循环)是什么?

运行循环是什么?从介绍到演示 今天整理一下运行循环来帮朋友们了解一下什么是运行循环,也叫消息循环,建议大家称之为运行循环(Runloop). 关于多线程的运行循环(消息循环) 1. 什么是运行循环 (1)Runloop就是运行循环,每个线程内部都有一个运行循环. (2)只有主线程的运行循环默认是开启的,子线程的运行循环. 2. 运行循环的作用 (1)保证程序不退出,iOS的应用程序启动之后,之所以不会退出,就是因为有Runloop(运行循环).运行循环是一个死循环,只有满足一定条件才会结束循环.