iOS静态库与动态库
2021-02-05 本文已影响0人
陳芮
静态库与动态库
存在形式:
①静态库:.a 和 .framework
②动态库:.dylib 和 .framework
区别:
①静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。
②动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。
.framework 使用场景:
①静态库:开发者自己创建的
②动态库:系统提供的
.a 与 .framework 的区别:
- .a 是一个纯二进制文件,.framework 中除了有二进制文件之外还有资源文件。
-
.a 文件不能直接使用,至少要有 .h 文件配合,.framework 文件可以直接使用。
※ .a + .h = .framework - 建议使用 .framework
静态库的优点
- 方便共享代码,便于合理使用。
- 实现 iOS 程序的模块化,可以把固定的业务模块化成静态库。
- 和别人分享你的代码库,但不想让别人看到你代码的实现。
- 开发第三方 SDK 的需要