首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
IOS
订阅
那年星空
更多收藏集
微信扫码分享
微信
新浪微博
QQ
34篇文章 · 0订阅
深入iOS系统底层之程序中的汇编代码
合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。--(老子·道德经 ) 对于一个闭源系统来说如果想研究某些逻辑的内部实现就需要对汇编语言进行掌握和了解、对于某些需要高性能实现的逻辑来说用汇编语言实现可能是最好的选择、对于某些逻辑来说可能只能用汇编来实现。以最后一个能…
AppDelegate模块化瘦身
关于iOS的模块化,要追溯到16年接触的BeeHive了,BeeHive将功能模块化,以module的形式进行构建,以performSelector:的形式进行module的事件响应,以protocol的形式进行module间的通信。可以说思路非常清晰明了了。关于BeeHive…
我是如何让微博绿洲的启动速度提升30%的(二)
之前的文章《我是如何让微博绿洲的启动速度提升30%的》收到了很多朋友的反馈。 其中,动态库转静态库的收益相比于二进制重排收益更大,但在实际操作中大家也遇到了一些问题。 本着装完X就跑,自己装的X,跪着也要装完的原则,在这里我详细来讲一讲这些问题。 1. 修改Mach-O Typ…
Swift 性能优化(1)——基本概念
最近看了关于 Swift 底层原理的一些视频和文章,收获颇丰,感觉对于编程语言有了新的理解。因此,趁热打铁,记录并总结对 Swift 底层原理的理解。由于相关的内容非常多,这里准备分成多篇文章来进行阐述。 本文主要介绍关于 Swift 性能优化的一些基本概念。编程语言的性能主要…
笔记-runtime源码解析之让你彻底了解底层源码
runtime是由C、C++、汇编一起写成的api,为OC提供运行时。 可有看出,对象的本质是一个结构体,方法的本质是发送消息。任何方法的调用都可以翻译成是objc_msgSend这个方法的调用 上面这些汇编语言,主要就是为了寻找imp,调用_objc_msgSend然后判断接…
理解 ARC 实现原理
ARC 是 iOS 中管理引用计数的技术,帮助 iOS 实现垃圾自动回收,具体实现的原理是由编译器进行管理的,同时运行时库协助编译器辅助完成。主要涉及到 Clang (LLVM 编译器) 和 objc4 运行时库。 本文主要内容由修饰符 __strong 、 __weak 、 …
WKWebview与JSBridge日常使用记录
最近项目中因为涉及到WKWebview与JSBridge的交互有点多,目前采用的方案把已知问题都解决了。怕自己遗忘,所以记录下来,也供大家参考。 应用是新闻类App,内部视图较为复杂且嵌入多方广告套件,多方考量之下,采取原生嵌套H5来实现,顶部nav部分由原生来做(类似于今日头…
解读 iOS 组件化与路由的本质
虽然 iOS 组件化与路由的话题在业界谈了很久,但是貌似很多人都对其有所误解,甚至没搞明白“组件”、“模块”、“路由”、“解耦”的含义。 相关的博文也蛮多,其实除了那几个名家写的,具有参考价值的很少,况且名家的观点也并非都完全正确。架构往往需要权衡业务场景、学习成本、开发效率等…
iOS底层学习 - 从编译到启动的奇幻旅程(二)
首先安利一本书《程序员的自我修养--链接、装载与库》,看完神清气爽。 可执行文件(程序)是一个静态的概念,在运行之前它只是硬盘上的一个文件;而进程是一个动态的概念,它是程序运行时的一个过程,我们知道每个程序被运行起来后,它会拥有自己独立的虚拟地址空间,这个地址空间大小的上限是由…