美文网首页
iOS 动态库和静态库的区别

iOS 动态库和静态库的区别

作者: 俊俊吖 | 来源:发表于2023-09-26 16:37 被阅读0次

1.链接方式:静态库在编译时被链接到目标程序中,而动态库在运行时被动态加载到内存中。静态库的代码被完整地复制到目标程序中,而动态库则是作为一个独立的文件被加载。
2.文件大小:静态库会增加目标程序的文件大小,因为它被完整地复制到目标程序中。而动态库在磁盘上只有一个副本,被多个应用程序共享,因此可以减小应用程序的文件大小。
3.运行时更新:动态库可以在运行时更新,当更新动态库时,所有使用该动态库的应用程序都可以受益,无需重新编译和分发整个应用程序。而静态库的更新需要重新编译和重新分发目标程序。
4.内存占用:由于动态库是在运行时加载到内存中的,所以多个应用程序可以共享同一个动态库实例,从而减少内存占用。而静态库的代码会被完整地复制到每个目标程序中,可能会导致内存占用增加。
5.依赖关系:使用动态库可以将共享的代码逻辑提取为一个独立的模块,多个应用程序可以共享使用。这样可以提高代码的复用性和维护性。而静态库的依赖关系会被直接编译到目标程序中,无法在运行时切换或更新

为什么要使用静态库?
方便共享代码,便于合理使用。

实现iOS程序的模块化。可以把固定的业务模块化成静态库。

和别人分享你的代码库,但不想让别人看到你代码的实现。

开发第三方sdk的需要。

但是这种静态库动态 Framework 和系统的 UIKit.Framework 还是有很大区别。系统的 Framework 不需要拷贝到目标程序中,我们自己做出来的 Framework 哪怕是动态的,最后也还是要拷贝到 App 中(App 和 Extension 的 Bundle 是共享的),因此苹果又把这种 Framework 称为 Embedded Framework(可植入性Framework)。

相关文章

  • iOS静态库与动态库的区别与打包

    iOS静态库与动态库的区别与打包iOS静态库与动态库的区别与打包

  • iOS开发集锦之 2017.04.17

    1. iOS 静态库,动态库与 Framework 浅析 作者:Jenaral描述: 静态库与动态库的区别;iOS...

  • iOS 封装.framework 以及使用

    .framework是什么? “静态库”和“动态库”有什么区别? iOS里静态和动态库形式 .a与.framewo...

  • 创建静态库

    iOS深入学习(创建静态库static library) 库包含静态库和动态链接库,他们之间区别是:静态库可以编译...

  • iOS 中库和Framework

    IOS静态库和Framework区别 一、什么是库? 库是共享程序代码的方式,一般分为静态库和动态库。 二、静态库...

  • 组件化-动态库实战

    起因 理论功底 动态库和静态库 介绍 静态库和动态库的区别 举个例子, iOS 项目中使用 Embeded Fra...

  • 动态库打包

    强调:使用动态库,要求应用最低支持系统为IOS8 1:静态库和动态库区别 静态库:存在 .a 和 .framewo...

  • iOS静态库和动态库的区别

    iOS开发中静态库和动态库区别: 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程...

  • iOS静态库和动态库的使用

    iOS开发中静态库和动态库区别 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序...

  • iOS中的静态库与动态库,区别、制作和使用

    iOS中的静态库与动态库,区别、制作和使用

网友评论

      本文标题:iOS 动态库和静态库的区别

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