![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
底层
文章平均质量分 88
水月Dragon
这个作者很懒,什么都没留下…
展开
-
RunLoop
#概念RunLoop是事件接收和分发机制的一个实现,是线程相关的基础框架的一部分,一个RunLoop就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。RunLoop本质是一个do-while循环,没事做就休息,来活了就干活。与普通的while循环是有区别的,普通的while循环会导致CPU进入忙等待状态,即一直消耗cpu,而RunLoop则不会,RunLoop是一种闲等待,即RunLoop具备休眠功能。#####RunLoop的作用保持程序的持续运行处理APP中的各种事件(触摸、定时器原创 2022-03-03 10:59:33 · 1985 阅读 · 0 评论 -
AutoReleasePool 底层原理
概念AutoreleasePool(自动释放池)是OC中的一种内存自动回收机制,它可以延迟加入AutoreleasePool中的变量release的时机。在正常情况下,创建的变量会在超出其作用域的时候release,但是如果将变量加入AutoreleasePool,那么release将延迟执行。App启动后,苹果在主线程 RunLoop里注册了两个 Observer,其回调都是 _wrapRunLoopWithAutoreleasePoolHandler(),从程序启动到加载完成,主线程对应的run原创 2022-03-02 15:32:48 · 2626 阅读 · 0 评论 -
LLVM编流程
LLVM概念LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time)。对开发者保持开放,并兼容已有脚本##传统编译器设计####编译器前端(Frontend)编译器前端的任务是解析源代码(编译阶段),它会进行 词法分析、语法分析、语义分析、检查源代码是否存在错误,然后构建抽象语法树(Abstract Syntax Tr原创 2022-02-21 16:52:14 · 2176 阅读 · 0 评论