需要时间从后台恢复应用程序,显示启动画面

时间:2013-02-13 04:58:09

标签: iphone ios

我们的应用程序需要时间从iPod的后台恢复,因此每次都会显示闪屏。当应用程序进入前台时,它会从缓存中加载一些数据,如果有大量数据需要时间。我该如何处理这种情况?我只是将这些方法放入调度队列,但没有显着的效果。

1 个答案:

答案 0 :(得分:1)

使用调度队列并将那些耗时的方法(从缓存加载数据的方法)发送到后台。当它完成时,并说你现在需要进行一些UI更新,获取主队列并在那里更新UI

dispatch_queue_t queue = dispatch_queue_create("name for the queue", NULL);
dispatch_async(queue, ^{
    //your extensive code goes here, should not involve any UI updates
    //If there are any UI updates involved, uncomment the following code:
    /*dispatch_async(dispatch_get_main_queue(), ^{
        //UI update here, as it should always be done on main thread
    });*/
});

由于您在启动期间对主线程进行了大量计算,因此您将看到启动画面。如果从缓存中加载需要很长时间,超过10秒,您的应用程序将被看门狗杀死。

你需要处理它并将它移到后台。

干杯,玩得开心