iOS提供了很多框架,我是iOS的新手,但有一个我不确定的概念: 如果我最小化我的应用程序所依赖的框架数量,我认为这是性能提升,我是否正确?或者没关系? 例如,如果我不是iOS框架(如核心数据或核心图形),如果我真的不需要其中的功能,我是否可以节省内存占用或优化性能?在我的应用程序中,代码太简单了,我可以自己编写而没有核心数据(非常基本的功能)。
我找不到讨论这个概念的好文章,苹果发布的所有框架是否都部署在与您的项目无关的设备上使用它们?
答案 0 :(得分:2)
通常最好不要链接到您不使用的框架。要回答您更具体的问题:
apple发布的所有框架是否都部署在与您的项目无关的设备上使用它们?
基本上是 - 它们是作为iOS的一部分提供的,因此它们已经加载到设备上(并且始终存在)。
如果我最小化我的应用依赖的框架数量,我认为这是一个性能提升,我是否正确?
也许 - 链接器/加载器不必将框架加载到内存中并将应用程序链接到它们,但这样做的性能成本是如此微小,以至于避免链接/加载框架不是一个好理由如果你认为它有用,就不要使用它。
我节省了内存占用
也许。加载共享库时,库的内容会加载到应用程序的内存空间中,因此会增加内存占用量。但是,如果该库已被其他应用程序(或操作系统)加载,则它将在使用它的所有应用程序之间共享。
即便如此,可能增加的内存占用也是避免使用您可能会发现有用的框架的一个不好的理由。