首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
底层原理
潜水的鱼儿
创建于2021-06-05
订阅专栏
学习记录iOS底层原理
等 22 人订阅
共32篇文章
创建于2021-06-05
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
底层原理-33-runloop
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 1. Runloop的概念和作用 我们知道runloop顾名思义就是运行循环,是事件接受和分发的一个机制,是线程相关基础框架的一部分。一个r
底层原理-33-自动释放池
目前我们内存管理都在在ARC环境下进行自动管理对象的引用计数,我们下面看下autoreleasepool。 1.autoreleasepool 1.1 release与autorelease 对象在调
底层原理-32-内存管理之SideTables/retaincount/强引用问题
上一篇我们了解了内存管理的几种方式其中SideTables主要介绍了引用计数表。我们继续探讨下SideTables 1.SideTables SideTables可以理解为一个全局的hash数组,里面
底层原理-31-内存管理之TaggedPointer/retain/release/dealloc分析
程序运行分配的内存是一定的,因此内存管理就是很有必要,开发中避免内存泄漏,我们因及时释放。那么内存是如何管理的? 1. ARC和MRC 在iOS开发中,我们有大致2种内存管理方式:MRC(手动管理)和
底层原理-30-启动优化之Clang插桩
上一篇我们了解了由于页中断导致启动耗时,我们可以编译的时候根据我们.order方法进行排列,但是我们项目比较大的话,找到方法进行排列就比较困难。 1. Clang插桩配置 LLVM内置一个简单的代码覆
底层原理-29-启动优化及其原理
1. 前言 我们日常开发中,经常会经过长时间迭代后应用变的越来越大,启动也会随之变慢,那么有什么解决办法吗? 我们先看下应用启动的时间。 1.1 打印应用启动时间 我们在工程设置中添加 DYLD_PR
底层原理-28-LLVM的流程
这是我参与8月更文挑战的第13天,活动详情查看:8月更文挑战 1. LLVM概述 1.1 解释语言和编译语言 在我们日常开发中,比如iOS开发,使用Xcode编译成功才能运行,这个过程就是编译过程由L
底层原理 -27-block(下)
这是我参与8月更文挑战的第12天,活动详情查看:8月更文挑战 上一篇我们介绍了block的区分,以及解决循环应用的方式。这篇我们主要探讨下block的原理。 1. Clang分析 定义关于block的
底层原理-26-Block(上)
这是我参与8月更文挑战的第11天,活动详情查看:8月更文挑战 1. block类型 block是日常使用最多的代码块,面试中也会经常面到。block是对象,它封装了一段代码,这段代码可以在任何时候执行
底层原理-25-锁(下)
这是我参与8月更文挑战的第10天,活动详情查看:8月更文挑战 上一篇我们介绍了@synchoroized的原理,以及使用。接下来继续介绍其它锁的情况。 1.NSLock NSLock是OC层的封装,底
iOS-底层原理-24-锁(上)
这是我参与8月更文挑战的第9天,活动详情查看:8月更文挑战 1.锁的介绍 1.1 锁的性能 开发中使用多线程,就会有线程安全问题,比如在并发队列的异步函数中对数据的读写操作,不加锁就会产生data r
底层原理-23-GCD分析(下)
这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战 上一篇我们了解了GCD的队列和函数,这一篇我们主要探讨下日常的使用场景及其原理。GCD在我们日常多线程开发应该是最常用的形式,通常使用的有G
底层原理-22-GCD分析(上)
这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战 1. GCD简介 在Mac OS x v10.6中引入的Grand Central Dispatch是线程的另一种替代品,它允许您专注于需要
底层原理-20-kvo的自定义|8月更文挑战
上一篇我们分析了kvo的原理,那么我们是否可以自定义一个自己的kvo呢?主要大致思路: 添加观察者,创建中间类,isa替换。 中间类setter实现包括回调,父类setter方法调用。 移除操作,is
底层原理-19-KVO原理|8月更文挑战
1.KVO简介 KVO全称:Key—Value-Observing键值观察是一种允许通知对象其他对象指定属性更改的机制。 键值观测提供了一种机制,允许将其他对象的特定属性更改通知对象。它对于应用程序中
底层原理-18-KVC探索|8月更文挑战
1.kvc简介 kvc是我们日常开发常用的一套api,全称是Key-Value Coding。源码中没有开发,我们可以去官方文档看下怎么实现的 键值编码是由NSKeyValueCoding非正式协议启
底层原理-17-oc底层面试题
主要看下底层面试巩固下所学。 1.+load方法在什么时候调用? 在load_images的时候调用,通过prepare_load_methods方法准备,递归的方式schedule_class_lo
底层原理-16-类拓展&关联对象
上一篇分析了分类的底层加载流程,那么关于类拓展以及如何关联对象的,接下来将一一分析。 1.类的拓展 分类category:为主类提供分类,在oc中生成.h和.m文件。可以添加方法,实现他供主类调用。也
底层原理-15-类的加载(下)
继续上一篇探索下分类的加载流程。上一篇我们探索类的加载其中methodizeClass方法有关于分类的加载。 1.分类加载推导 继续查看attachToClass方法, 发现添加分类的方法attach
底层原理 -14-类的加载(中)
继续上篇探索类加载,之前我们进入了_read_images,我们大概看了下主要做了什么,其中实现oc的类是方法realizeClassWithoutSwift,继续下面的探索。 1.类的加载流程分析
下一页