首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS 底层原理
订阅
code139
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
iOS程序员的自我修养-前言(零)
我们iOS开发者,大部分都是做业务上的开发。平时可能接触到编译链接方面的知识很少,但是我觉得编译链接对一个普通程序员来说,也非常重要。 比如平时用Xcode build过程有什么错误,我们可以选择站在原理层面去分析哪里出现问题了,而不是靠不停debug来解决;再比如fishho…
【iOS内功】深入解析Crash调用栈的内存布局
栈是一种数据结构,只能在”一端”进行”插入”和”删除”的线性表。其中能进行插入和删除的这一端就是“栈顶”,另外一端称为“栈底”。 程序员说的栈经常默认指的是内存中的栈,但栈是一个基础的数据结构,不局限在计算机,其他领域都可以见到栈的应用。 比如码头对货柜箱的存储,货车来了,一个…
深入探索 iOS 内存优化
1945 年,冯·诺伊曼体系结构被提出,奠定了计算机的基础,同时其局限性也限制了计算机的进一步发展,直至现代,计算机体系还是没能逃离其局限性,只是陆续对其组织结构进行优化而已。 冯·诺伊曼体系结将计算机分为运算器、控制器、存储器、输入设备和输出设备五大部分,由于存储器的读写效率…
《Objective-C 高级编程》干货三部曲(二):Blocks篇
这一章讲解了Block相关的知识。因为作者将Objective-C的代码转成了C++的代码,所以第一次看的时候非常吃力,我自己也不记得看了多少遍了。 这篇总结不仅仅只有这本书中的内容,还有一点在其他博客里看过的Block的相关知识,并加上了自己的理解,而且文章结构也和原书不太一…
《Objective-C 高级编程》干货三部曲(一):引用计数篇
总结了Effective Objective-C之后,还想读一本进阶的iOS书,毫不犹豫选中了《Objective-C 高级编程》。 这本书有三个章节,我针对每一章节进行总结并加上适当的扩展分享给大家。可以从下面这张图来看一下这三篇的整体结构: Objective-C通过 re…
iOS 内存管理研究
iPhone 作为一个移动设备,其计算和内存资源通常是非常有限的,而许多用户对应用的性能却很敏感,卡顿、应用回到前台丢失状态、甚至 OOM 闪退,这就给了 iOS 工程师一个很大的挑战。 网上的绝大多数关于 iOS 内存管理的文章,大多是围绕 ARC/MRC、循环引用的原理或者…
[翻译]Swift的静态派发和动态派发机制
如果你了解面向对象,对于 方法派发机制 应该不陌生。 首先说下第一个结论:静态派发机制 同时支持 值类型 和 引用类型 。 然而,动态派发机制仅支持 引用类型(reference types), 比如 Class 。简而言之: 对于动态性或者动态派发,我们需要用到继承特性,而这…
OC中的静态(static)/ 内联(inline)函数
以上三种函数使用相似、长相类似,但是仍然有些许的不同。 上面观察得出,三者基本上的区别就是标示符使用上的区别,那么我们分析下,表示符不同使用情况下,会有什么优势和好处。 引用inline标示符,能够使函数一作为一个标准的内联函数,函数的代码被放入符号表中,在使用时直接进行替换,…
WWDC 2018:iOS 内存深入研究
对于我们的 App 所依赖的设备而言,内存资源是有限的。降低 App 所使用的内存可以提高性能和体验,相反,过大的内存占用可能会导致 App 被系统强制退出。所以每个 iOS 开发者都应该关注内存问题。这一节新的内容不多,基本上都是一些老的知识点。 在探讨内存之前,我们要知道为…
深入iOS系统底层系列文章目录
一直想写一些关于系统底层方面的知识点,并且酝酿了很久,后来也跟其他人交流,你为何不出一个系列呢? 不必要一次性把所有的东西都写完后才发表,我听说后觉得非常的有道理,虽然自己的水平也很一般,但是想想自己还是有一些积累的。这虽然是一系列介绍iOS底层相关方面的知识的文章,但又不是介…