2012-10-12 86 views
1

我有一個簡單的應用程序,它使用位置服務和註冊以在後臺運行。我用位置數據更新簡單的tableView。當用戶離開應用程序並執行其他操作時,仍然會收到此數據。iOS:在定位服務中運行時更新UI背景

目前我打電話給我的- (void)applicationWillEnterForeground:(UIApplication *)application中的一個方法來更新UI,但是當應用程序打開並且UI被更新時,仍然有一秒鐘的時間。

我也曾嘗試在後臺的時候做定期的UI更新,但並不奇怪這似乎並沒有工作。

是否有任何解決方案在那裏,這樣我可以有UI全面更新,當用戶將應用程序返回到前臺?

回答

1

最好的解決方案可能會來分析,看看爲什麼你顯示新數據之前有任何延遲的。很可能你可以做一些事情來準備顯示,比如提前做核心數據查詢(它們可能需要很長時間)。

另一種方法是直接基於活動從屏幕轉儲空白UI位圖作爲你被停職,並寫信給它 - 那麼當應用程序恢復時,清楚地表示在現實面前顯示位圖作爲屏幕覆蓋完整的UI。

+0

從背景返回時,我沒有太多的工作。我只是從當前的'NSManagedObject'獲取'NSSet'對象,然後將其排序爲一個數組以顯示在'UITableView'上。似乎不應該是一個昂貴的操作。分析時應該注意什麼?時間? –

+0

只需花費時間更新顯示屏。我至少會在進入前臺之前進行排序。此外,它可能是您的表格單元格可以優化繪製更快。 –