首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
空白记忆
掘友等级
iOS开发工程师
|
某厂
喜欢旅游,看各处的山水秀丽;喜欢摄影,记录值得留念的瞬间;喜欢美食,品尝不同的人间美味
获得徽章 5
动态
文章
专栏
沸点
收藏集
关注
作品
赞
119
文章 118
沸点 1
赞
119
返回
|
搜索文章
最新
热门
OC底层知识点之 - 内存管理(下)AutoReleasePool 和RunLoop底层探究
在上篇我们介绍了小对象,copy,strong的内存管理,介绍了release和dealloc的底层实现,这篇文章继续研究内存管理中的AutoReleasePool,研究AutoReleasePool也会研究下跟AutoReleasePool关联紧密的NSRunLoop。 自动…
OC底层知识点之 - 内存管理(上)
规则与MRC一致,区别在于,ARC模式下不需要手动retain、release、autorelease。编译器会在适当的位置插入release和autorelease。 2.Nonpointer_isa:非指针类型的isa,主要是用来优化64位地址。这个在OC底层原理之-OC对…
OC底层知识点之 - Block底层原理
Block拥有捕获外部变量的功能,在Block中访问一个外部的局部变量,Block会持有它的临时状态,自动捕获变量值,外部局部变量的变化不会影响它的状态(这个下面会讲到)。 【循环引用】:当A持有B,B同时也持有A时,此时A销毁需要B先销毁,而B销毁同样需要A先销毁,就导致相互…
OC底层知识点之-多线程(五)补充篇:锁
从上图我们可以知道锁的性能从低到高依次为:OSSpinLock(自旋锁) -> dispatch_semaphone(信号量) -> pthread_mutex(互斥锁) -> NSLock(互斥锁) -> NSCondition(条件锁) -> pthread_mutex(r…
OC底层知识点之-多线程(四)GCD下篇
1.onceToken,这是一个静态变量,由于不同位置定义的静态变量是不同的,所以静态变量具有唯一性。 4.如果任务执行后,加锁失败了,则走到_dispatch_once_mark_done_if_quiesced函数,函数里再次进行存储,将标识符置为DLOCK_ONCE_DO…
OC底层知识点之-多线程(三)GCD中篇
上篇文章我们对GCD进行了初步了解OC底层知识点之-多线程(二)GCD上篇。在文章最后我们讲了dispatch_async中work如何执行。这篇我们继续分析下异步函数dispatch_async和同步函数dispatch_sync 1._dispatch_continuati…
OC底层知识点之-多线程(二)GCD上篇
上面文章我们说了不少跟线程有关的知识点传送门。本文我们继续学习多线程,我们主要介绍多线程GCD。 【总结】:GCD就是将任务添加到队列,并且指定执行任务的函数。 在GCD使用中我们只需要做两件事:1.定义任务。2.将任务添加到队列中。所以GCD的核心就是dispatch队列和任…
OC基础知识点之-多线程(一)多线程基础
1.地址空间:同⼀进程的线程共享本进程的地址空间,⽽进程之间则是独⽴的地址空间。 2.资源拥有:同⼀进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独⽴的。 1: ⼀个进程崩溃后,在保护模式下不会对其他进程产⽣影响,但是⼀个线程崩溃整个进程都死掉。所以…
OC基础知识点之-KVO(键值观察)-下
自定义KVO其实和系统是一样的,就是在系统基础上进行优化,我们这里采用的是函数式编程思想来自定义KVO。主要分为以下两个方法 2.去掉系统KVO的手动销毁机制,改为自动销毁。 这部分主要通过重写setter方法,在中间类的setter方法中,通过block方式传递给外界进行响应…
OC基础知识点之-内存管理初识(内存分区)
来讲一下iOS的内存。我们知道iOS内存主要有一下五大区域,分别是栈区、堆区、全局区、常量区、代码区。其中全局区和常量区有叫数据段(_DATA区)。下面我们分别来看下每个区的作用 全局区是又叫BSS段,是编译期分配的内存空间,在iOS一般是以0x1开头,在程序运行的过程中该数据…
下一页
个人成就
文章被点赞
699
文章被阅读
133,767
掘力值
3,758
关注了
14
关注者
599
收藏集
0
关注标签
11
加入于
2020-05-14