首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
iOS底层之美
温暖
创建于2021-06-22
订阅专栏
iOS底层探索分析
等 30 人订阅
共19篇文章
创建于2021-06-22
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
iOS底层原理之启动优化(二):二进制重排 & Clang插桩
前言 前文iOS底层原理之启动优化(一):相关概念 & 优化方案简单介绍了启动相关的概念和一些优化的方案,本文将来介绍下pre-main阶段的优化方案,即二进制重排。 探索二进制重排之前,先扩展点其他
iOS底层原理之启动优化(一):相关概念 & 优化方案
前言 本文开始将对APP启动优化进行一个简单的探索,本文先介绍下启动相关的基本概念。 一: 虚拟内存 & 物理内存 物理内存时代内存地址都是物理地址,数据的访问是直接通过物理内存地址访问的。这种方式会
iOS底层原理之自定义Clang插件
前言 前文主要介绍了下LLVM和Clang相关的概念、设计思想和编译流程,本篇文章将使用LLVM和Clang实现一个简单的插件。废话不多说,让我们开始今天的内容吧。 一: LLVM下载 编写Clang
iOS底层原理之LLVM & Clang
前言 今天开始,我们对编译器架构系统LLVM进行一个简单的了解和分析,了解完LLVM的编译流程之后,简单实现一个Clang插件玩玩。下面就开始今天的内容。 研究编译器之前,先了解下解释型语言和编译型语
iOS底层原理之OC类的扩展与关联对象
前言 前文iOS底层原理之OC类的加载原理(下)已经分析了分类加载的流程,以及主类和分类搭配加载的情况。本文就来分析下特殊的分类--类扩展和分类属性的存取--关联对象。 准备工作 objc4-818.
iOS底层原理之OC类的加载原理(下)
前言 前文iOS底层原理之OC类的加载原理(中)已经分析了类的加载,并探索了懒加载类和非懒加载类的不同流程,同时还初步确定了分类加载的两条流程,本文就来详细分析下分类加载的流程,以及分类加载和主类加载
iOS底层原理之OC类的加载原理(上)
前言 前文iOS底层原理之dyld应用程序加载分析了dyld的整个流程以及dyld和objc的交互流程。本文将接着分析dyld调用map_images究竟做了什么操作。 准备工作 dyld源码。 ob
iOS底层原理之OC类的加载原理(中)
前言 前文iOS底层原理之OC类的加载原理(上)分析了_objc_init->map_images->_read_images的整个流程,最后定位到类的初始化是在realizeClassWithout
iOS底层原理之dyld应用程序加载
前言 前面我们对程序启动之后的许多底层知识进行了探索,但是程序是怎么加载启动的呢,作为一个程序员,应该有相应的了解,现在我们就来探索下程序加载的原理。 准备工作 dyld源码。 libdispatch
iOS runtime之objc_msgSend消息转发
码字不易,求一波点赞,关注。拜谢!!! 前言 OC方法查找如果快速查找流程、慢速查找流程都没有找到对应的imp,并且动态方法决议也没有动态添加对应的imp,就会进入消息转发流程, 前面已经分析了obj
iOS runtime之objc_msgSend动态方法决议
前言 前面已经分析了objc_msgSend快速查找流程和objc_msgSend慢速查找流程,本文就来探索动态方法决议。 准备工作 objc4-818.2源码。 1: 动态方法决议相关源码解析 前文
iOS runtime之objc_msgSend慢速查找流程
前言 前文iOS runtime之方法的本质objc_msgSend分析一探索了objc_msgSend的缓存查找(快速查找)流程,本文将接着探索没有缓存时的方法列表查找(慢速查找)流程。 1: __
iOS runtime之objc_msgSend快速查找流程
前言 前文iOS类的结构之cache_t分析中介绍了cache_t的相关信息,了解了方法缓存的相关知识,本文将对方法缓存的读取、存储流程进行探索。 想要探索cache的读写流程可以从我们之前探索过的c
经典面试题:isKindOfClass:和isMemberOfClass:的分析
1. 面试题代码示例 关于isKindOfClass:和isMemberOfClass:有一个很经典的面试题,主要考验对于isa走位链和superclass走位链的理解以及汇编调试、源码调试的动手能力
iOS底层原理之类的原理分析二
1.WWDC20runtime对于类的数据结构的优化 引用作者Ben的原话:此次优化不需要改动任何代码,并且不需要学习新的API,运气好的话,什么都不需要做,你的app也会变得很快。是runtime关
iOS底层原理之类的原理分析一
iOS底层原理之类的原理分析一 书接上文[OC底层原理初探之对象的本质(三)alloc探索下](https://juejin.cn/post/6974316480972193799)继续对类的原理进
OC底层原理初探之对象的本质(三)alloc探索下
本文将要探索的内容: 对象的本质是什么? Clang和xcrun的基础定义。 如何将.m文件编译成.cpp文件。 .cpp文件源码分析。 结构体和联合体的区别。 如何指定成员变量的位域? nonpoi
OC底层原理初探之对象的本质(二)alloc探索中
前言 话接上文,分析过alloc方法底层调用逻辑之后,本以为已经搞明白了alloc的底层调用流程,不成想看到debug里的函数调用栈,如下图 分析发现: 在alloc方法调用之前还调用了objc_al
OC底层原理初探之对象的本质(一)alloc探索上
前言 OC在生成对象时需要用到alloc方法,那么alloc方法的底层原理是怎样的呢?今天就来探索下alloc底层流程。 首先做个小测试: 分别输出对象的内容、对象的地址以及对象指针的地址,代码和打印