iOS static library,dynamic library和framework有什么区别?各有什么用途?

在开发过程中只用过static library静态库,按照网上的资料来看,iOS系统只支持静态库,而不支持动态库。那么三者具体都是在什么情况下使用?各有什么优势呢?

阅读 11.5k
2 个回答

自问自答一下

ios 开发中 动态库 与静态库的区别 - 破解IOS

静态库与动态库的区别?

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

静态库

链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。

动态库

链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。

总结来说:其实就是加载时机和加载次数的不同。

如下链接可做学习参考:
Creating a Static Library in iOS Tutorial
How to Create a Framework for iOS

补充一下

framework 一般情况下就是 对library的封装,同时封装了对应的header文件、以及引用的资源文件(如果有)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题
宣传栏