美文网首页
知识点:OC中.a和framework的区别(转)

知识点:OC中.a和framework的区别(转)

作者: mapg | 来源:发表于2020-08-10 09:49 被阅读0次

    OC中的库概念

    库是共享程序代码的方式,一般分为静态库和动态库

    静态库 && 动态库 区别

    静态库:链接时,完整的拷贝至可执行文件,多次使用就会多次拷贝造成冗余拷贝,使包体积变大
    动态库:链接时不复制,程序运行时动态加载到内存,供程序调用,系统只加载一次,节省内存

    iOS里静态库形式

    .a和framework

    iOS里动态库形式

    .dylib和framework

    .framework为什么既是动态库又是静态库

    这个分情况,如果是系统的.framework就是动态库,我们自己创建的就是静态库

    .a和。framework的区别

    .a就是一个纯二进制文件
    .framework除了二进制文件之外还有资源文件
    .a不能直接使用,需要搭配.h文件
    .framework可以直接使用

    为什么要使用静态库

    代码共享,合理避免重复代码(组件化概念)
    代码私有化,提供给别人使用,但不想让别人看到你代码的实现,只暴露接口使用方法(一般多为三方SDK开发)
    还有就是组件化的时候,对业务库打包成.a文件会提高编译效率,但会使包体积变大(空间换时间)

    作者:杯中怎可无酒
    链接:https://www.jianshu.com/p/b58c9ab12463

    相关文章

      网友评论

          本文标题:知识点:OC中.a和framework的区别(转)

          本文链接:https://www.haomeiwen.com/subject/qypddktx.html