当我将应用程序移至后台然后将其带回前台时,我遇到了活动指示器冻结的问题。当应用程序移动到后台时,它可以通过网络加载一些数据。因此,我向用户显示了一个活动指示器。我添加了代码以确保任务在后台完成。当应用程序立即进入前台并且数据没有完全加载时,微调器会停留在屏幕上但它会停止旋转。数据完全加载后,微调器消失。
知道活动指示器为何冻结以及可能的解决方案。
谢谢。
当我将应用程序移至后台然后将其带回前台时,我遇到了活动指示器冻结的问题。当应用程序移动到后台时,它可以通过网络加载一些数据。因此,我向用户显示了一个活动指示器。我添加了代码以确保任务在后台完成。当应用程序立即进入前台并且数据没有完全加载时,微调器会停留在屏幕上但它会停止旋转。数据完全加载后,微调器消失。
知道活动指示器为何冻结以及可能的解决方案。
谢谢。
后台应用几乎没有理由更新其 UI。
一方面,有谁可以看到它?指示器冻结的另一个原因是进入后台会停止 UI 更新和动画,这会不必要地耗尽设备的电池并减慢前台应用程序的速度。
从 Apple 出色的iPhone Application Programming Guide-applicationWillEnterForeground:
中,每当应用程序进入前台时,都会调用app 委托方法。
您可以在此处覆盖此方法并添加逻辑以唤醒小部件。或者您订阅您的类(视图控制器等)以收听UIApplicationWillEnterForegroundNotification
通知。如果你监听这个通知,你可以调用一个选择器来更新 UI 的状态,无论应用程序当时正在做什么。