首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
IOS底层
大林晓鹿
创建于2021-10-11
订阅专栏
IOS底层专栏
等 5 人订阅
共40篇文章
创建于2021-10-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
iOS组件化(四)
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 protocol匹配 protocol匹配的实现思路是: 将protocol和对应的类进行字典匹配 通过用protocol获取class,在
iOS组件化(三)
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 target-action 这个方案是基于OC的runtime、category特性动态获取模块,例如通过NSClassFromString
iOS组件化(二)
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 1. 组件化操作 1.1 创建模块 在Terminal中打开指定文件夹后输入 pod lib create 文件名生成一个模块, 创建好后会
iOS组件化(一)
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 1. 组件化介绍 在一个项目越来越大,开发人员越来越多的情况下,项目会遇到很多问题。 业务模块间划分不清晰,模块之间耦合度很大,非常难维护。
iOS界面优化 ——卡顿检测和优化方案
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 1. 卡顿原理 卡顿,也就是掉帧。当UIView被绘制时,cpu执行drawrect,通过context将数据写入backingstore。
iOS内存管理 —— Runloop
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 1. Runloop Runloop 介绍 RunLoop称为事件处理循环,是线程相关的基础框架的一部分,用于安排工作和协调接收传入事件。应
iOS内存管理 —— 自动释放池
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 1. 自动释放池 1.1 自动释放池介绍 自动释放池是OC中的一种内存自动回收机制,它可以延迟加入AutoreleasePool中的变量re
iOS内存管理 —— 散列表和弱引用表
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 1. 散列表 散列表的本质是哈希表。散列表在手机上有8张,在模拟器或者其他设备上为64张。散列表里面有锁,引用计数表和弱引用表。其中锁用来保
iOS内存管理 —— retain、release 流程分析
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 1. NONPOINTER_ISA 之前的文章中介绍过 NONPOINTER_ISA,知道对象的引用计数是存在extra_rc里面的。如果对
iOS内存管理 —— TaggedPointer
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 1. 内存布局 内存五大区 栈: 存放局部变量,参数,指针,函数,地址一般以0x7开头。栈区的内存通过sp寄存器来定位的。 堆:存放allo
iOS启动优化 —— LLVM编译流程 & Clang插件开发
这是我参与8月更文挑战的第28天,活动详情查看:8月更文挑战 1. LLVM 1.1 LLVM概述 LLVM是架构编译器的框架系统,以C++编写而成,用于优化任意程序语言编写的程序的编译时间(comp
iOS 底层探索篇 ——block(下)
这是我参与8月更文挑战的第27天,活动详情查看:8月更文挑战 block底层源码 1. block底层分析 要探究block底层是什么样的一个结构,那么就定义一个block,然后xcrun 一下。 x
iOS 底层探索篇 ——block(上)
这是我参与8月更文挑战的第26天,活动详情查看:8月更文挑战 1. block类型 block一共有三种类型: 全局block (NSGlobalBlock): 位于全局区,在block内部不使用外部
iOS 底层探索篇 ——八大锁的分析
这是我参与8月更文挑战的第25天,活动详情查看:8月更文挑战 1. 锁的类型 其实基本的锁就包括了三类 自旋锁 互斥锁 读写锁, 其他的比如条件锁,递归锁,信号量都是上层的封装和实现! 2. 锁的应用
iOS 底层探索篇 —— 锁
这是我参与8月更文挑战的第24天,活动详情查看:8月更文挑战 1. 锁的简介 我们在使用多线程的时候多个线程可能会访问同一块资源,这样就很容易引发数据错乱和数据安全等问题。而合理的运用锁可以保证每次只
iOS 底层探索篇 —— GCD栅栏函数、信号量、调度组和Dispatch_Source
这是我参与8月更文挑战的第24天,活动详情查看:8月更文挑战 1. 栅栏函数 1.1 栅栏函数的作用 这里的函数运行状况是,123, 456 和起来干是随机打印的,而dispatch_barrier_
iOS 底层探索篇 —— GCD 源码分析
这是我参与8月更文挑战的第23天,活动详情查看:8月更文挑战 1. 死锁 所谓死锁,通常指有两个线程A和B都卡住了无法完成,都在等待对方完成任务后在执行。A不能完成是因为它在等待B完成。但B也不能完成
iOS 底层探索篇 —— GCD函数和队列
这是我参与8月更文挑战的第22天,活动详情查看:8月更文挑战 1. 队列和线程 一个线程中可以有多个队列,每个队列中可以执行多个任务,队列可以对任务进行排序,队列依靠线程来执行任务。 1.1 主队列
iOS 底层探索篇 —— 多线程原理
这是我参与8月更文挑战的第21天,活动详情查看:8月更文挑战 1. 线程和进程 1.1 线程和进程的定义 1.2 线程和进程的关系 地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地
iOS 底层探索篇 —— KVO 底层原理(下)
这是我参与8月更文挑战的第20天,活动详情查看:8月更文挑战 1. 自定义KVO 创建一个NSObject分类,并添加三个方法,lg_addObserver,lg_observeValueForKey
下一页