转载自 : https://blog.csdn.net/weekend_y45/article/details/124972039[https://blog.csdn.net...
什么是RunLoop?RunLoop 的表象是保证线程一直存在的一个事件循环机制,本质是封装了一个可以接收消息处理事件并且无限dowhile循环的对象。 作用:1、保持线程的...
前言 在前文重学iOS系列之APP启动(四)Mach-O[https://www.jianshu.com/p/ff4f0b59e99b]中,我们对二进制在内存中的存储...
在上个章节,我们学习了对象的本质,对isa有了一个笼统的概念,了解到对象的本质其实就是一个包含了变量和isa指针的结构体。并且可以通过实例对象的isa获取到类对象,然...
导读 在开发过程中,是否有疑惑过,我们创建的OC对象本质到底是什么?实例对象在内存中是怎么存储的?对象在程序中到底占用了多少内存?传说中的isa里面到底存储了什么东西...
前文已经通过源码分析以及实战演练带领读者学习了APP启动的整个过程,既然知识已经学了,就要学以致用。 APP启动-优化总结: main()函数之前的优化: 1、减少动态库加载...
前文我们已经了解了APP启动的整个过程,包括dyld加载mach-o,然后经过objc库通过runtime对类、category等的初始化。这一节笔者将通过实战带领大家对AP...
前文讲解了dyld加载Mach-O的用户态过程,大家都知道Mach-O代表的是苹果系统的可执行文件,那你们了解Mach-O的内部组成吗?我们写的代码存储在Mach-O的什么位...
导读 上一节我们了解了dyld在APP冷启动中扮演的角色,并且引申出_objc_init()方法的调用,_objc_init()内部调用了_dyld_objc_notify_...
导读 本文将带您了解iOS APP从点击图标到显示画面的大致过程,本文只不深入解析相关源码,相关源码解析会在后续的章节详细讲解。 我们为什么要了解APP启动流程? 在开发过程...
导读 本文承接自APP启动-流程(一),有疑惑的同学可以先阅读上一篇的内容。本文会带大家详细的解读dyld-852.2源码中关于APP启动最重要的一个函数_main()。...