当应用程序移动到前台iOS4时,UIActivityIndi​​catorview会冻结

时间:2010-07-15 19:26:01

标签: iphone ios4 uiactivityindicatorview multitasking

当我将应用程序移动到后台并将其恢复到前台时,我遇到活动指示器冻结的问题。当应用程序移动到后台时,应用程序可以通过网络加载一些数据。因此,我向用户显示活动指示器。我添加了代码以确保任务在后台完成。 当应用程序立即进入前台并且数据未完全加载时,微调器停留在屏幕上但它停止旋转。当数据完全加载时,微调器就会消失。

任何想法为什么活动指示器会冻结,以及可能的解决方案。

感谢。

1 个答案:

答案 0 :(得分:5)

几乎没有理由让后台的应用更新其UI。

对于一个人,谁在那里看到它?指示灯冻结的另一个原因是进入后台会停止UI更新和动画,不必要地耗尽设备的电池并减慢前台应用程序的速度。

从Apple的优秀iPhone Application Programming Guide开始,只要应用程序进入前台,就会调用应用委托方法-applicationWillEnterForeground:

您可以在此处覆盖此方法并添加逻辑以唤醒窗口小部件。或者您订阅了您的课程(视图控制器等)以收听UIApplicationWillEnterForegroundNotification通知。如果你监听这个通知,你可以调用一个选择器来更新UI的状态,给出当时应用程序正在做什么。