首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
iOS底层原理
一荤一素一碗粥
创建于2021-12-24
订阅专栏
iOS底层原理
等 72 人订阅
共36篇文章
创建于2021-12-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
iOS:界面优化方案
本文主要介绍界面卡顿的原理以及优化 界面卡顿 通常来说,计算机中的显示过程是下面这样的,通过CPU、GPU协同工作来将图片显示到屏幕上 1、CPU计算好显示内容,提交至GPU 2、GPU经过渲染完成后
iOS:内存管理(二)强引用分析
本文主要是通过定时器来梳理强引用的几种解决方案 强引用(强持有) 问题引入 假设此时有两个界面A、B,从A push 到B界面,在B界面中有如下定时器代码。当从B pop回到A界面时,发现定时器没有停
iOS:启动优化(二) Clang插桩及Order文件
启动 启动的过程一般是指从用户点击app图标开始到AppDelegate 的didFinishLaunching方法执行完成为止,其中,启动也分为冷启动和热启动。 冷启动是内存中不包含相关的内存数据,
iOS底层原理:Block底层原理
本文主要介绍block的类型、循环引用的解决方法以及block底层的分析 block 类型 block主要有三种类型: __NSGlobalBlock__:全局block,存储在全局区 此时的bloc
OC底层原理16 :KVO 底层原理
KVO,全称为Key-Value observing,中文名为键值观察,KVO是一种机制,它允许将其他对象的指定属性的更改通知给对象。 在Key-Value Observing Programming
OC底层原理15:KVC 底层原理
KVC的全称是Key-Value Coding,翻译成中文是 键值编码,键值编码是由NSKeyValueCoding非正式协议启用的一种机制,对象采用该协议来间接访问其属性,即可以通过一个字符串key
OC底层原理14:Method-Swizzling 方法交换
method-swizzling 是什么? method-swizzling的含义是方法交换,其主要作用是在运行时将一个方法的实现替换成另一个方法的实现,这就是我们常说的iOS黑魔法, 在OC中就是利
OC底层原理13 :类扩展 与 关联对象 底层原理探索
分类和类扩展 区别 category 类别、分类 专门用来给类添加新的方法 不能给类添加成员属性,添加了成员属性,也无法取到 分类中用@property 定义变量,只会生成变量的setter、gett
OC底层原理12:类的加载(下)
在上一篇文章OC底层原理11:类的加载(上)中,理解了类是如何从Mach-O加载到内存中,这次我们来解释下分类是如何加载到类中的,以及分类和类搭配使用的情况。 分类的本质 前提:在main中定义LGP
OC底层原理11 :类的加载(上)
在上一篇OC底层原理10:OC底层原理10:dyld与objc的关联文章中,我们理解了dyld与objc是如何关联的,本文的主要目的是理解类的相关信息是如何加载到内存的,其中重点关注map_image
OC底层原理10:dyld与objc的关联
上一篇文章OC底层原理09:dyld加载过程中,我们梳理了dyld的加载流程,下面来详细介绍下dyld和objc的关联。 objc_init()源码简析 首先,来看下libObjc中的_objc_in
OC底层原理08:消息流程之动态方法决议 & 消息转发
前面文章分析了OC底层原理06:消息流程之快速查找和OC底层原理07:消息流程之慢速查找中,分别分析了objc_msgSend的快速查找和慢速查找,在这两种都没找到方法实现的情况下,苹果给了两个建议:
OC底层原理07:消息流程之慢速查找
引入 通过测试代码演示方法查找流程: isa和superclass走向流程图: 1.LGPerson实例方法 只实现不声明 在NSObject分类中只声明不实现 正常运行 调用LGPerson的实例方
OC底层原理05-cache_t探索
类结构 在OC底层原理04-类结构分析中,类主要是下列组成:isa,superclass,cache,bits。 本文只探究cache_t。 cache_t探索 cache_t源码 下面通过真机64位
OC底层原理06:消息流程之快速查找
本文的主要目的是理解objc_msgSend的方法查找流程。 runtime简介 编译时:把源代码编译成机器能识别的代码过程。简单来说就是做一些翻译工作,代码还未装载进内存。也就是说编译时还未分配内存
iOS:组件化的三种通讯方案
组件化 本文主要介绍组件化常用三种通讯方式. 常⽤的三种组件化通讯方案 组件化通信方案 组件化最重要的是兄弟模块的通讯 常⽤的三种方案 URL Scheme Target - Action Proto
iOS:内存管理(四)NSRunLoop 底层分析
本文主要分析 AutoReleasePool 以及 NSRunLoop 的底层实现 RunLoop 对于RunLoop,主要关心的点有以下几个 1、runloop是什么? 2、runloop和线程的关
iOS:内存管理(一)TaggedPointer/retain/release/dealloc/retainCount 底层分析
本文主要是分析内存管理中的内存管理方案,以及retain、retainCount、release、dealloc的底层源码分析 ARC & MRC iOS中的内存管理方案,大致可以分为两类:MRC(手
iOS:内存管理(三)AutoReleasePool
本文主要分析 AutoReleasePool AutoReleasePool 自动释放池 自动释放池是OC中的一种内存自动回收机制,它可以将加入AutoreleasePool中的变量release的
iOS:内存五大区
在iOS中,内存主要分为栈区、堆区、全局区、常量区、代码区五大区域。如下图所示 下面分别介绍这五大区 栈区(Stack) 定义 栈是系统数据结构,其对应的进程或者线程是唯一的 栈是向低地址扩展的数据结
下一页