iOS静态库与动态库

静态库与动态库

存在形式:

①静态库:.a.framework
②动态库:.dylib.framework

区别:

①静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。
②动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。

.framework 使用场景:

①静态库:开发者自己创建的
②动态库:系统提供的

.a.framework 的区别:

  • .a 是一个纯二进制文件,.framework 中除了有二进制文件之外还有资源文件。
  • .a 文件不能直接使用,至少要有 .h 文件配合,.framework 文件可以直接使用。
    .a + .h = .framework
  • 建议使用 .framework

静态库的优点

  • 方便共享代码,便于合理使用。
  • 实现 iOS 程序的模块化,可以把固定的业务模块化成静态库。
  • 和别人分享你的代码库,但不想让别人看到你代码的实现。
  • 开发第三方 SDK 的需要

你可能感兴趣的:(iOS静态库与动态库)