iOSiOS 艾欧艾斯iOS

iOS 开发中的『库』(二)

2016-10-01  本文已影响2454人  Damonwong

其实这是一篇纠(da)错(lian)篇

看文章之前,你可以看下下面几个问题,如果你都会了,或许可以不看。


我是前言


纠错篇

静态库的处理方式

静态库链接过程

所以,在 iOS 开发中的『库』(一) 所提到,将头文件添加到可执行文件是不正确的。

动态库的处理方式

因为动态库在链接函数需要做大量的工作,而静态库已经实现处理好了。(“静态库的加载速度会更快一点”的原因是因为编译器预先实现了链接,而不是静态库实现的链接。- by Casa Taloyum)所以单纯的在所有都没有加载的情况下,静态库的加载速度会更快一点。而在 iOS 开发中的『库』(一) 提到的有所不妥,正确应该是,虽然动态库更加耗时,但是对于在加载过的share libraries不需要再加载的这个前提下,使用动态库可以节省一些启动时间。

动态库到底在内存哪块区域的问题

.a 的使用

.a是一个纯二进制文件,不能直接拿来使用,需要配合头文件、资源文件一起使用。

关于动态 framework 是否需要去除模拟器架构问题


拓展篇

动态库动态更新问题

能否动态库的方式来动态更新AppStore上的版本呢?

所以在 iOS 开发中的『库』(一) 提到理论上是可行的这点也是不对的。

动态库到底添加几次问题

app1 和 app2 都有一个相同的 动态framework 以 Embedded 方式放入到各自的 app 中,问这个 动态framework 会加载几次?

动态库加载

关于。。。好了我先睡了。还有问题,明天再写吧。。希望写的这篇对得起 sunny 和 Casa 老司机 的指点。


番外篇

摘抄自个人笔记。
<a name="memory"/>

关于内存五大分区


内存分区

小 Tips


参考文献

更多

工作之余,写了点笔记,如果需要可以在我的 GitHub 看。

上一篇下一篇

猜你喜欢

热点阅读