首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
qinhan_you
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
8
文章 8
沸点 0
赞
8
返回
|
搜索文章
qinhan_you
2年前
关注
iOS内存管理(Nonpointer_isa+散列表+retain+release)
前言 上篇文章关于内存管理系列iOS内存管理(Tagged Pointer技术),主要讲解了小对象的内存管理。这篇博客主要讲解关于对象的内存管理,主要涉及到Nonpoint...
赞
评论
分享
qinhan_you
2年前
关注
iOS内存管理(Tagged Pointer技术)
内存管理方案技术 Tagged Pointer:(标记指针),用来处理小对象NSNumber,NSDate、NSString Nonpointer_isa:,非指针类型。间...
4
评论
分享
qinhan_you
2年前
关注
iOS 内存管理(内存布局)
内存分区 内存我们人为的把他分为5大区,栈区、堆区、全局区、常量区、代码区,地址从高到低 栈区 栈区存放函数的参数值、局部对象的值、对象的指针。由系统分配和释放。 线性结构...
赞
评论
分享
qinhan_you
2年前
关注
iOS二进制重排(clang插桩)
前言 上一篇文章主要介绍了iOS启动优化原理,并且了解到二进制重排能够优化一定的启动时间。这边博客主要是对二进制重排进行实际操作。 Link Map File 生成link...
2
评论
分享
qinhan_you
2年前
关注
iOS启动优化原理
前言 iOS程序的启动与dyld息息相关,如果想要优化启动速度,可以先了解一下dyld的启动原理。dyld 加载App流程源码分析 iOS的启动分为冷启动和热启动 冷启动 ...
赞
评论
分享
qinhan_you
2年前
关注
iOS 编译流程分析
解释器和编译器 解释器:解释器是直接执行用编程语言编写的指令的程序,解释的程序总是需要解释器来运行 编译器:编译器是需要把我们的源代码翻译成机器能够读的懂二进制文件 举例:...
赞
评论
分享
qinhan_you
2年前
关注
iOS Block探究二
Block clang分析 通过命令clang -rewrite-objc main.m -o main.cpp将下面的代码编译成cpp block底层结构 编译成cpp文...
1
评论
分享
qinhan_you
2年前
关注
iOS 多线程@synchronized原理
各种锁的性能分析 通过上面的方法对不同的锁进行性能测试得到如下结果: 发现@synchronized相对其他锁的效率比较低,但是相差不大 断点调试 @synchronize...
1
评论
分享
qinhan_you
关注了
理查德森
qinhan_you
2年前
关注
iOS block探究(一)
block分类 NSGlobalBlock(全局block) 全局区 在block内部不实用外部变量,或者只使用静态变量和全局变量 代码: NSMallocBlock(堆区...
1
评论
分享
qinhan_you
2年前
关注
多线程之GCD源码分析
准备 libdispatch源码 主队列分析 dispatch_get_main_queue(),主队列在main函数之前就会创建。如下图,在main函数下断点,发现已经有...
1
1
分享
qinhan_you
赞了这篇文章
随便歇一歇
iOS开发 @Noting at all
·
2年前
关注
【Swift】 函数与闭包(二)
闭包 逃逸闭包 当闭包作为一个实际参数传递给一个函数的时候,并且它会在函数返回之后调用,我们就说这个闭包逃逸了。当你声明一个接受闭包作为形式参数的函数时,可以在形式参数写´...
6
1
分享
qinhan_you
2年前
关注
iOS 多线程
线程和进程的定义 线程是进程的基本执行单元,一个进程的所有任务都在线程中执行 进程要想执行任务,必须要有线程,进程至少要有一条线程 iOS应用程序会默认开启一条线程,我们通...
1
评论
分享
qinhan_you
关注了
三百云技术中心
qinhan_you
2年前
关注
FBKVOController源码分析
源码 FBKVOController KVO一种非常有用的技术,用于在模型-视图-控制器应用程序中的层之间进行通信,FBKVOController在系统的KVO的基础上做了...
11
评论
分享
qinhan_you
2年前
关注
dyld之分类加载
前言 上一篇博客我们将解了类的加载,这篇文章我们主要探索一下分类是如何加载。 分类的结构 新建QHPerson+QHA分类,然后运行clang -rewrite-objc ...
3
评论
分享
qinhan_you
关注了
Cooci
qinhan_you
2年前
关注
dyld之类的加载
前言 上一篇博客我们了解到dyld->libsystem->libdispatch->_objc_init这样一个流程。那么下面我们来了解一下objc_init里面究竟做了...
3
1
分享
qinhan_you
2年前
关注
应用启动- dyld (主程序初始化)
1. 准备工作 在开始探究之前,先提供需要的源码以及扩展一些储备知识 1.1 源码 在探究iOS应用启动过程中,需要使用到的源码 objc源码 dyld源码 LibSyst...
5
1
分享
qinhan_you
关注了
KG丿夏沫
下一页
个人成就
文章被点赞
57
文章被阅读
27,702
掘力值
1,007
关注了
7
关注者
29
收藏集
15
关注标签
12
加入于
2020-09-18