2011-10-29 24 views
3

當用戶在iOS設備上按下主頁按鈕並且該應用程序當前正在運行方法時會發生什麼情況:方法是否會結束運行,或者方法是否會在中間被中斷?當用戶按回家按鈕時中斷方法?

+1

- (void)applicationWillResignActive:(UIApplication *)應用程序被調用。 我會想象你關於完成的方法,但任何回調等都可能會或可能不會被尊重 –

+0

+1 Maudicus評論。 –

+0

試試吧。將打印語句放在不斷調用的方法的頂部和底部,然後將它們按回主頁按鈕 –

回答

0

像Maudicus寫道,applicationWillResignActive:被稱爲應用程序委託,以及applicationDidEnterBackground:。您應該假設當前正在運行的任何方法都會中斷。如果你想確保一個特定的操作被執行,你應該把它放在上述方法之一中。

+0

除非是非常長的操作,否則方法不會中斷。我忘記了超時時間,但是您有時間進行有限的背景清理。無論代碼是在當前正在運行的方法中,還是移動到其中一種後臺方法,該超時都是相同的。如果代碼需要很長時間才能完成,無論它使用哪種方法,它都會中止。因此,通過將其移至背景方法,您無所裨益。 – memmons

相關問題