2011-05-18 101 views

回答

1

所有第三方库静态链接到您的应用程序。理论上你可以懒加载只有苹果自己的弱绑定库。我不知道如何在iOS上控制此过程。这在Mac上当然是可能的。

+0

即使它们是第三方,您也可以将链接库设置为弱(目标>信息>常规),但我不知道这是否会产生任何效果。 – toupper 2011-05-24 11:59:04

+0

@ toupper据我所知。设置链接的唯一原因是确保您的应用能够解析您的应用所在平台的符号,而不是使用您的应用编译到的平台的符号。让自己的图书馆薄弱没有任何意义。 – bioffe 2011-05-24 15:13:10

0

当然,只要你不需要他们直接。

LazyLoad并不局限于你的应用,例如,如果你有一个巨大的Opengl场景,你可以选择不放置它的纹理,直到用户真正点击你需要的按钮。

这样做的缺点是,打开任何需要延迟加载的等待时间将会进一步向下移动(当用户想玩时,他会有更长的加载时间)。

你可以尝试的是启动Thread来处理启动时的加载,并且从你执行setBooleanLibXFinishedLoading的线程开始,你的应用程序只需要等待所有booelan被设置为继续。 这应该会减少用户的明显等待时间,同时优化实际花费的时间。

希望这有助于

杰森

+0

感谢您的回复杰森。从你的评论这个问题来找我:我怎样才能避免在一开始iOS加载libreries?我以后如何加载它们?非常感谢。 – toupper 2011-05-18 15:23:34

+0

好的,你可以添加一个你称之为加载库的例子吗? (对不起,我现在主要在android上工作,所以我在IOS上有点生疏) – 2011-05-18 15:55:38

+0

我的假设是iOS在启动时加载了我们添加到项目中的框架和库(例如libGoogleAnalytics.a)。我不在代码中加载它们,只导入文件。也许有人尝试过,可以在这方面纠正我。 – toupper 2011-05-19 11:39:18