静态库
连接时静态库会被完全复制到可执行文件中,被多次使用就有多份冗余拷贝
当遇到MRC第三方库:(ARC项目)打包成静态库就不需要管是ARC还是MRC了。分析:其实ARC只是编译器的特性,在编译代码的过程中会自动在适当的地方添加release之类的语句,它不是真正意义上的gc垃圾回收。而静态库就是编译后的代码,因此是不会有ARC和非ARC之说的。
动态库
形式:.dylib和.framework
优点:连接时不需要复制,程序运行时由系统加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。就是大家可共用一个。
缺点:appStore会拒
.a静态库的构建
1.建一个工程
2.将原来的文件删除,重新创建一个工具类
3.将debug 的yes 改为no 。Yes表示只编译选中模拟器对应的架构,这样建成的静态库能使用各个型号的模拟器。
4.编译一下,.a库就变成灰色,表示已经存在,否则是红色。
5.这样静态库大体上是建完了,但是为了让引用自己的库内的类和方法,我们要将需要引用到的类的头文件显示出来。
5.完成后编译一下,将lib static.a show in Finder
6.新建工程将建好的.a库导入就可以使用了。
7.引用静态库
8.运行查看结果
网友评论