首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
iOS 底层原理探索
阿华12年
创建于2021-06-07
订阅专栏
探索iOS系统底层之美
等 116 人订阅
共45篇文章
创建于2021-06-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
iOS底层 - Dispatch Source
Dispatch Source 是 BSD 系统内核惯有功能kqueue的包装,kqueue是在XNU内核中发生各种事件时,在应用程序编程方执行处理的技术。它的CPU负荷非常小,尽量不占用资源。
iOS底层 - 单例 销毁 可否?
这是我参与8月更文挑战的第11天,活动详情查看:8月更文挑战 单例,我们开发中使用很频繁的一种设计,你有没有想过, - 为什么其会在app生命周期中只执行一次? - 系统底层做了哪些事情来实现的呢?
iOS底层 - 关于死锁,你了解多少?
我们永远不应该将函数添加到队列中执行任务时使用同步的方式,这对于保证死锁的串行队列尤其重要,但对于并发队列也应避免。的确,这是避免死锁的重要思路,但是,在实际开发中,我们使用了下面的代码。
iOS底层原理探索 之 GCD函数和队列
Grand Central Dispatch (GCD) 调度队列是执行任务的强大工具。调度队列让你可以异步或同步地执行任意代码块,无论是与调用者相关的。
iOS底层原理探索 之 GCD原理(上)
在上一篇章 `多线程原理` 中,我们着重对于线程的概念以及其原理进行了理论上的概念解释和总结,今天开始,我们 对并发编程中使用比较多的`GCD`开始研究,探索其使用技巧、底层原理以及其面试中的坑点。
iOS底层原理探索 之 多线程原理|8月更文挑战
随着实际开发中越来越复杂的业务逻辑,越来越繁重的任务需要完成,多线程技术的应用显得越发的重要。本篇内容开始,我们就展开探索在iOS开发中,对于多线程的原理、应用以及面试中的一些坑点的内容整理总结。
iOS底层原理探索 之 重写KVO|8月更文挑战
上一篇KVO原理的探索,我们探索并总结了KVO的整体流程,总体而言还是比较简单的,那么今天,我们就顺着KVO流程,手写一个 KVO。
iOS底层原理探索 之 KVO原理|8月更文挑战
键值观察是一种机制,它允许对象在其他对象的指定属性发生更改时收到通知。您可以观察属性,包括简单属性、一对一关系和多对多关系。多对多关系的观察者被告知所做更改的类型——以及哪些对象参与了更改。
iOS 底层原理探索 之 魔法师KVC
键值编码是一种由`NSKeyValueCoding`非正式协议启用的机制,对象采用该机制来提供对其属性的间接访问。当对象符合键值编码时,其属性可通过字符串参数通过简洁、统一的消息传递接口进行寻址。
iOS 底层原理探索 之 关联对象
之前的两片文章,我们分别研究了一下 类的加载 和 分类的加载 的一个整体流程。其实,其探索的都是一个 从代码到编译到MachO到内存的一个过程。那么今天来探索下类的扩展这部分的内容。
iOS 底层原理探索 之 分类的加载
上一篇章我们探索了分类的底层结构以及它的_method_list_t ,接着对于rwe的操作我们探索来到了extAllocIfNeeded方法的调用。今天,我们接着 关于rwe部分,开始今天的内容。
iOS 底层原理探索 之 类的加载
我们知道链接的镜像文件是`machO`格式的,那么如何通过`machO`中的地址将其读取到内存中去呢?最好是有一张表能够来存储所有的类信息,然后类的初始化,其内部数据的 `ro`和`rw` 初始化。
iOS 底层原理探索 之 应用程序加载原理dyld (下)
接着上一篇的内容我们从 _dyld_objc_notify_register(&map_images, load_images, unmap_image)开始
iOS 底层原理探索 之 应用程序加载原理dyld (上)
本篇内容开始,我们将开启一个新的篇章。探索应用程序加载的一个过程。在手机安装好我们的app之后,用户点击app那一刻开始,一直到程序的main函数之前,系统都为app的运行做了哪些事情呢?
iOS 底层原理探索 之 消息转发流程
接着上一篇的 `动态方法决议流程` ,本篇 我们来到了`消息转发流程`的探究,大家打起精神,一起加油!
iOS 底层原理探索 之 动态方法决议
之前的文章中,我们探索了 `runtime运行时` 的消息发送 `objc_msgSend` 的底层原理流程 以及 `消息的慢速查找流程`的原理。 今天,我们从一个案例开始继续探索。
iOS 底层原理探索 之 Runtime运行时慢速查找流程
为什么要用汇编写`objc_msgSend`呢?因为,汇编执行的整个流程的速度更接近于机器语言,速度飞`快`,而且`安全`,缓存机制无非就是要实现效率高一点速度快一点,并且可以更加的`动态化`。
iOS 底层原理探索 之 objc_msgSend快速方法查找
在上一篇,我们探索了 `Runtime` 以及与 `Runtime` 交互的三种方式,和总结了 `方法的本质其实是消息发送的过程`。今天接着上一篇继续 `objc_msgSend汇编分析`。
iOS 底层原理探索 之 Runtime运行时&方法的本质
Objective-C 语言将尽可能多的决策从编译时和链接时推迟到运行时。只要有可能,它就会动态地做事。这意味着该语言不仅需要编译器,还需要运行时系统来执行编译后的代码。
iOS 底层原理探索 之 isa - 类的底层原理结构(下)
之前的系列文章,我们介绍类类的底层原理实现的细节内容。那么,本片作为类的底层原理结构的收官内容,我会从整体来总结下。
下一页