- 博客(4)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 iOS进阶 - 链接器:符号是怎么绑定到地址上的?
iOS进阶 - 链接器:符号是怎么绑定到地址上的?链接器的作用就是将符号绑定到地址上。iOS 为什么使用编译器iOS 编写的代码是先使用编译器将代码编译成机器码,然后在 CPU 上执行机器码,直接在 CPU 上执行机器码,之所以不用解释器运行代码是因为Apple希望 iPhone 的执行效率更高,运行速度能达到最快。为什么运用解释器运行代码速度不够快呢?因为解释器会在运行时解释执行代码,...
2019-05-31 15:23:09 1680
原创 iOS进阶 - 组件化架构设计
iOS进阶 - 组件化设计探究组件化架构的设计需要解决三个主要问题:模块粒度如何划分如何分层多团队如何协作模块粒度如何划分模块粒度划分需遵循五个原则:单一功能原则:对象功能要单一,不要在一个对象里添加很多功能开闭原则:扩展是开放的,修改是封闭的里式替换原则:子类对象时可以替代基类对象的接口隔离原则:接口的用途要单一,不要在一个接口上根据不同入参实现多个功能依赖反转原则:...
2019-05-29 15:20:05 651
原创 iOS进阶 - AutoLayout 是如何自动布局的,性能如何?
iOS进阶 - AutoLayout 是如何自动布局的,性能如何?AutoLayout 是iOS6引入到系统中的,在 WWDC2018 中苹果介绍 iOS 12 将大幅提高 AutoLayout 的性能。AutoLayout 的生命周期AutoLayout 不只有布局算法 Cassoway,还包含了布局在运行时的生命周期等一整套布局引擎系统,用于统一管理布局的创建、更新和销毁。这一整套...
2019-05-28 19:23:09 2374
原创 iOS进阶 - App启动优化
iOS进阶 - App启动优化App启动三个阶段main() 函数执行前main() 函数执行后首屏渲染完成后main() 函数执行前加载可执行文件(App的 .o 文件的集合)加载动态链接库,进行 rebase 指针调整和 bind 符号绑定Objc 运行时的初始处理,包括 Objc 相关类的注册、category 注册、selector 唯一性检查等初始化,包括了执行 ...
2019-05-17 15:12:33 613
学弟课堂作业,帮他解决下-工作太忙
2015-07-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人