静态库如何工作

时间:2012-08-21 07:19:32

标签: ios performance static-libraries quartz-graphics

我想知道创建静态库的好处 - 它会影响应用程序的加载时间吗? ..我需要知道它是如何工作的。如果我创建一个自定义控件库,它会在执行和加载时间方面对我有利吗?

所以,如果我正在创建自定义控件e。 G。通过图形上下文绘图而不是使用图像会有益吗? E. g。如果我打算使用最少数量的图像并在上下文中使用绘图作为选项会更好吗?它对性能有什么影响?

1 个答案:

答案 0 :(得分:1)

静态库不会真正影响性能。这只是一种以不同方式组织代码的方法。您可以说,一旦您的代码编译(和链接),生成的应用程序几乎完全相同。编译狂热者,请原谅我的简化:)

在iOS中使用静态库有一些好处:

  1. 代码重用。您可以在多个项目之间共享同一个库。如果您在库中进行了更改,那么一旦您构建了更改,这些更改就会很容易地反映在所有项目中。

  2. 您可以与他人共享您的图书馆,而无需为他们提供完整的资源。如果您想将代码出售给其他开发人员,这可能很有用。

  3. 但是,根据我的经验,静态库有一些缺点。主要的一点是XCode没有直观地处理它们。它个人花了我一天的工作来让我的项目设置正常工作..这是一个非常麻烦。

    关于问题的图像部分..它与静态库决策有点无关。

    使用图片主要是花费空间(您的应用程序下载量较大)和内存消耗。利用上下文来了解CPU周期(每次刷新帧时实际都会绘制图形)。在我看来,主要的区别实际上是易于开发。在某些情况下,手动绘制上下文需要更多工作,但您可以更轻松地进行更改。关于性能,我认为图像可能略有优势,但除非你打算画一些疯狂的东西,它几乎可以忽略不计。我会根据开发的容易程度来决定,而不是根据这种情况下的表现来决定。