首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
iOS底层原理
Style_月月
创建于2021-05-18
订阅专栏
主要讲解iOS底层相关知识点,例如 runtime、runloop、KVC、KVO、多线程、GCD等
等 125 人订阅
共43篇文章
创建于2021-05-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
iOS-底层原理 15:dyld发展史
这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战 本文主要介绍Mach-O文件的内部结构的演示 dyld简介 dyld全名 The dynamic link editor; 是苹果的动态链接
iOS-底层原理36:内存优化(一) 野指针探测
这是我参与更文挑战的第1天,活动详情查看: 更文挑战 本文主要讲解两种野指针检测的原理及实现 技术点:野指针探测 本文的主要目的是理解野指针的形成过程以及如何去检测野指针 引子 在介绍野指针之前,首先
iOS-底层原理 35:组件化(二)组件间通讯方式
本文主要讲组件化之间是如何通讯的组件化通讯方案目前主流的主要有以下三种方式:1、URL路由2、target-action3、protocol匹配URL路由目前iOS上大部分路由工具都是基于URL匹配的
iOS-底层原理 35:组件化(一)方案
本文主要讲解组件化的两种方案组件化组件化其实就是将模块单独抽离、分层,并指定模块间的通讯方式,从而实现解耦的一种方式,主要运用与团队开发为什么需要组件化?主要有以下四个原因1、模块间解耦2、模块重用3
iOS-底层原理 34:界面优化方案
本文主要介绍界面卡顿的原理以及优化界面卡顿通常来说,计算机中的显示过程是下面这样的,通过CPU、GPU、显示器协同工作来将图片显示到屏幕上1、CPU计算好显示内容,提交至GPU2、GPU经过渲染完成后
iOS-底层原理 33:内存管理(三)AutoReleasePool & NSRunLoop 底层分析
本文主要分析 AutoReleasePool 以及 NSRunLoop 的底层实现AutoReleasePool 自动释放池自动释放池是OC中的一种内存自动回收机制,它可以将加入Autorelease
iOS-底层原理 33:内存管理(二)强引用分析
本文主要是通过定时器来梳理强引用的几种解决方案强应用(强持有)假设此时有两个界面A、B,从A push 到B界面,在B界面中有如下定时器代码。当从B pop回到A界面[图片上传中...(E70D3F5
iOS-底层原理 33:内存管理(一)TaggedPointer/retain/release/dealloc/retainCount 底层分析
本文主要是分析内存管理中的内存管理方案,以及retain、retainCount、release、dealloc的底层源码分析ARC & MRCiOS中的内存管理方案,大致可以分为两类:MRC(手动内
iOS-底层原理 32:启动优化(三)二进制重排
前提,在之前的两篇文章中,大致介绍了一些基本概念以及启动优化的思路,下面来着重介绍一个pre-main阶段的优化方案,即二进制重排,这个方案最开始是由于抖音的这篇文章抖音研发实践:基于二进制文件重排的
iOS-底层原理 32:启动优化(二)优化建议
启动启动的过程一般是指从用户点击app图标开始到AppDelegate 的didFinishLaunching方法执行完成为止,其中,启动也分为冷启动和热启动冷启动:内存中不包含app相关数据的启动,
iOS-底层原理 32:启动优化(一)基本概念
虚拟内存 & 物理内存早期的数据访问是直接通过物理地址访问的,这种方式有以下两个问题:1、内存不够用2、内存数据的安全问题内存不够用的方案:虚拟内存针对问题1,我们在进程和物理内存之间增加一个中间层,
iOS-底层原理 31:LLVM编译流程 & Clang插件开发
本文主要是理解LLVM的编译流程以及clang插件的开发LLVMLLVM是架构编译器的框架系统,以C++编写而成,用于优化任意程序语言编写的程序的编译时间(compile-time)、链接时间(lin
iOS-底层原理 30:Block底层原理
本文主要介绍block的类型、循环引用的解决方法以及block底层的分析block 类型block主要有三种类型__NSGlobalBlock__:全局block,存储在全局区此时的block无参也无
iOS-底层原理 29:锁的原理
本文主要介绍常见的锁,以及synchronized、NSLock、递归锁、条件锁的底层分析锁借鉴一张锁的性能数据对比图,如下所示可以看出,图中锁的性能从高到底依次是:OSSpinLock(自旋锁) -
iOS-底层原理 28:GCD 之 底层原理分析
本文是队列创建、同步/异步函数、单例、信号量以及调度组的底层原理分析队列创建在上一篇文章iOS-底层原理 26:GCD 之 函数与队列中,我们理解了队列与函数,知道队列的创建时通过GCD中的dispa
iOS-底层原理 27:GCD 之 NSThread & GCD & NSOperation
本文的主要目的是介绍 NSThread、GCD、NSOperation常见的使用方式NSthreadNSthread是苹果官方提供面向对象的线程操作技术,是对thread的上层封装,比较偏向于底层。简
iOS-底层原理 26:GCD 之 函数与队列
本文的主要目的是理解不同队列与不同函数之间组合的情况GCD简介GCD全称是Grand Central Dispatch纯C语言,提供例如非常强大的函数GCD优势GCD是苹果公司为多核的并行运算提出的解
iOS-底层原理 25:多线程原理
本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理线程 和 进程线程和进程的定义线程线程时进程的基本执行单元,一个进程的所有任务都在线程中执行进程要想执行任务,必须的有线程,进程至少要有一
iOS-底层原理 24:内存五大区
在iOS中,内存主要分为栈区、堆区、全局区、常量区、代码区五大区域。如下图所示下面分别介绍这五大区栈区(Stack)定义栈是系统数据结构,其对应的进程或者线程是唯一的栈是向低地址扩展的数据结构栈是一块
iOS-底层原理 23:KVO 底层原理
KVO,全称为Key-Value observing,中文名为键值观察,KVO是一种机制,它允许将其他对象的指定属性的更改通知给对象。在Key-Value Observing Programming
下一页