在运行Iphone应用程序时预加载UIView以最小化延迟

在运行Iphone应用程序时预加载UIView以最小化延迟,iphone,uiview,delay,preload,Iphone,Uiview,Delay,Preload,我有一个iphone应用程序,它有一个视图,需要从各种互联网站点获取大量数据。因此,装载所需的时间是不可接受的。我想知道是否有任何方法可以在“ApplicationIDFinishLaunching”方法期间加载视图,因此延迟是在应用程序启动时,而不是在导航的中途 多谢各位 您是否已经考虑过异步加载数据?加载时,UI不会被阻止。例如,当应用程序加载数据时,可以显示一个漂亮的加载轮。所有好的应用程序都是这样做的。如果初始视图比“数据”视图有单独的viewController,您可以向appDele

我有一个iphone应用程序,它有一个视图,需要从各种互联网站点获取大量数据。因此,装载所需的时间是不可接受的。我想知道是否有任何方法可以在“ApplicationIDFinishLaunching”方法期间加载视图,因此延迟是在应用程序启动时,而不是在导航的中途


多谢各位

您是否已经考虑过异步加载数据?加载时,UI不会被阻止。例如,当应用程序加载数据时,可以显示一个漂亮的加载轮。所有好的应用程序都是这样做的。

如果初始视图比“数据”视图有单独的viewController,您可以向appDelegate添加对dataView的引用,然后执行以下操作:

if (self.curAccountManager == nil) {
    self.curAccountManager = [[accountManagerController alloc] initWithNibName:@"accountManager" bundle:[NSBundle mainBundle]];
    if (![self.curAccountManager isViewLoaded]) {
        UIView *tmpView = self.curAccountManager.view;
        tmpView = nil;
    }   



}

这将加载视图。但是如果它正在进行大量加载,当用户切换到它时,它可能不会做出很好的响应。我建议您按照上面的建议,在数据视图中异步加载数据,这样您至少可以显示用户状态或部分结果。

您希望尽快加载视图,然后启动后台线程或异步请求以下拉数据

在初始加载期间使应用程序休眠是不可取的。我相信SpringBoard会终止任何需要超过30秒才能完成加载的应用程序


让应用程序在没有向用户提供可见反馈的情况下执行某些操作(例如,动画UIActivityView)是一种糟糕的用户体验。

是的,但我在开始时让应用程序休眠,以显示我的启动屏幕,所以我想让它在这段时间内执行一些工作会很顺利。这是我的备份计划,所以它看起来仍然很酷。我想让它睡眠4秒,而不是30秒,只是为了显示启动屏幕,因为它很酷,但我要使用异步加载和控制盘。我对此非常满意。谢谢你的帮助!是的,谢谢-我要去异步加载-它几乎完美的方式-一些轻微的滞后和车轮旋转,但我会克服它。谢谢你的帮助!