2012-02-15 46 views
3

我正在寻找将更多渐进式/累进式资产加载到我的iOS应用中,有点像ZeptoLab做Cut the Rope。我希望减少用户在应用程序加载时花在静态Default.png上的时间,并希望能够更快地进入一些启动画面,在那里我可以显示进度条(我已经花了一些时间在Flash中进行开发,其中“预加载器” '是常态)。iOS应用启动后的渐进式资产(或资产包)加载

我收集到我可能不得不为此使用资产包。我想仍然拥有Xcode中的所有文件,而不是从其他位置加载。

如何加载资源捆绑所以我看到的例子 -

NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"MyBundle" ofType:@"bundle"]; 
NSString *imageName = [myBundle pathForResource:@"someImage" ofType:@"png"]; 

,但我想找到的例子如何:

  • 来看,这种异步,我想使用另一种线程
  • 跟踪此软件包已加载多少
  • 知道这个软件包包含多少,所以我可以计算已加载的软件包的百分比。

我也想知道 - 使用资产包改变我的iOS应用程序将如何/何时加载我的文件?

或者是正确的方法来选择不添加文件到我的Xcode项目的设置中的复制/构建阶段?

谢谢大家!

回答

0

谢天谢地文件系统访问是线程安全的,所以加载一个文件的线程正是你所需要的。我听说过一些关于ios的大型中央调度器......但是pthreads也可以很好地工作。我没有可以共享的示例代码,但是我可以说,如果您已经在某种程度上已经了解了原始代码线程(例如锁定或者甚至是使用原子操作的无锁技术等),那么这不是太难。

您没有使用单独的软件包来实现这一点 - 尽管使用它们也没有什么坏处(例如,保持要动态加载的那些资源)