2012-07-24 66 views
0

我的同事對使用後臺任務來處理我們機載數據庫中陳舊數據的批量清理存有警惕。在我看來,這是理想的清理位置,因爲它不會影響用戶體驗。使用beginBackgroundTaskWithExpirationHandler刪除陳舊的核心數據記錄是否安全?

批量清理核心數據的最佳做法是什麼?使用BG任務可以安全嗎?即使用beginBackgroundTaskWithExpirationHandler刪除陳舊的核心數據記錄是否安全?如果不是,推薦的方法是什麼?

+1

只是爲了澄清,由*後臺任務*,你的意思是在後臺線程,或者一個當應用程序在後臺運行,運行的任務嗎? – 2012-07-24 18:24:15

+0

一個由beginBackgroundTaskWithExpirationHandler產生的aplicationWillResignActive,然後在應用程序處於後臺時運行。 http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006728-CH3-SW79 – 2012-07-24 18:43:02

回答

1

斯科特,

我做數據庫垃圾收集在後臺所有的時間。它工作得很好。 IOW,如果你遵循標準的CD多線程模式,它是安全的。一個注意:-applicationWillResignActive:比你想象的要多得多。我建議你在-applicationDidEnterBackground:開始清理。

安德魯