首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
用户5732612593686
掘友等级
大公司
获得徽章 3
动态
文章
专栏
沸点
收藏集
关注
作品
赞
49
文章 49
沸点 0
赞
49
返回
|
搜索文章
赞
文章( 49 )
沸点( 0 )
OC底层知识点之-组件化(下)组件化通信
在编译层面使用协议定义规范,实现在不同地方,从而达到分布管理和维护组件的目的。这种方式也遵循了依赖反转原则,是一种很好的面向对象编程的实践。 由于协议式编程缺少统一调度层,导致难于集中管理,特别是项目规模变大、团队变多的情况下,架构管控就会显得越来越重要。 协议式编程接口定义模…
OC底层知识点之-组件化(上)组件化的创建
本来想写继续写界面优化的,但是因为前段时间项目比较忙,就一直没弄!加上最近项目里也在整理组件化的东西,所以也就决定写篇关于组件化的文章。 谈到组件化,首先想到的是解耦,模块化。其实组件化就是将模块化抽离,分层,并制定模块间的通讯方式,从而实现解耦的一种方式,主要运用在团队开发 …
OC底层知识点之 -界面优化(上)
通过上图可知,显示过程是通过CPU、GPU、显示器协调工作来将图片显示到屏幕上。具体分以下几步: 刚开始,FrameBuffer只有一个,这种情况下FrameBuffer的读取和刷新有很大的效率问题,为了解决这个问题,引入了双缓存区。即双缓冲机制。在这种情况下,GPU会预先渲染…
OC底层知识点之 - 内存管理(下)AutoReleasePool 和RunLoop底层探究
在上篇我们介绍了小对象,copy,strong的内存管理,介绍了release和dealloc的底层实现,这篇文章继续研究内存管理中的AutoReleasePool,研究AutoReleasePool也会研究下跟AutoReleasePool关联紧密的NSRunLoop。 自动…
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。 【总结】:GCD就是将任务添加到队列,并且指定执行任务的函数。 在GCD使用中我们只需要做两件事:1.定义任务。2.将任务添加到队列中。所以GCD的核心就是dispatch队列和任…
OC基础知识点之-多线程(一)多线程基础
1.地址空间:同⼀进程的线程共享本进程的地址空间,⽽进程之间则是独⽴的地址空间。 2.资源拥有:同⼀进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独⽴的。 1: ⼀个进程崩溃后,在保护模式下不会对其他进程产⽣影响,但是⼀个线程崩溃整个进程都死掉。所以…
OC基础知识点之-内存管理初识(内存分区)
来讲一下iOS的内存。我们知道iOS内存主要有一下五大区域,分别是栈区、堆区、全局区、常量区、代码区。其中全局区和常量区有叫数据段(_DATA区)。下面我们分别来看下每个区的作用 全局区是又叫BSS段,是编译期分配的内存空间,在iOS一般是以0x1开头,在程序运行的过程中该数据…
下一页
关注了
42
关注者
1
收藏集
0
关注标签
7
加入于
2020-12-23