iOS开发-你不了解的库(一)

2021-02-09  本文已影响0人  _常小仙儿

本文涉及的知识点:

  • 动态库&静态库的基本概念
  • 动态库&静态库的区别&加载方式

动态库

优点:

  • 不需要拷贝库代码到目标程序中,不会增大目标程序的体积
  • 多个应用程序共享内存中得同一份库文件,节省资源(系统库,自定义的库可以与 App Extension 共享)
  • 整个应用程序分模块,团队合作
  • 应用插件化
  • 可以动态更新应用程序,模块实时升级

缺点:

  • 载入时消耗性能;验证签名,载入内存都会大量消耗性能
  • 动态更新库文件,上架 App store 会被拒绝
  • 配置繁琐,需要适配各个 cpu 架构

静态库

优点:

  • 模块化,分工合作
  • 避免了大量的重复编译操作,提高编译速度
  • 大大提高打包速度
  • 代码的保密(像常用的 SDK :比如高德、微信、Jpush 等都用的是静态包)
  • 提高代码的复用率
  • 不需要外部的函数库支持

缺点:

  • 目标文件过大
  • 库文件抽取复杂,耗时耗力
  • 库文件修改后,需重新编译使用
  • 调试难度变大,无法断点

参考链接

上一篇 下一篇

猜你喜欢

热点阅读