我有NSTimer每15秒檢查一次服務器的最新數據。 當應用程序被切換到後臺,我停止計時器在下面的應用程序委託方法iPhone - NSTimer問題當iphone鎖
- (void)applicationWillResignActive:(UIApplication *)application
當應用程序回來活躍,我啓動定時器,它再次變得活躍
- (void)applicationWillEnterForeground:(UIApplication *)application
這功能正常工作。 但是當我離開iPhone時,它會在一段時間後鎖定。 當我解鎖它時,功能不能正常繼續。計時器未運行。
我在做什麼錯?
我不想讓計時器在後臺運行。這就是爲什麼在去背景之前,我正在禁用計時器,當涉及到前景時,我想重新啓動計時器。
您是否每十五秒啓動一次新的網絡連接?這可能會導致網絡活動過度。如果用戶使用的是3GS而不是WiFi,那麼您將佔用其每月配額的很大一部分。考慮打開一個持久的TCP連接,然後從連接中讀取後臺線程。如果沒有數據,它將進入休眠狀態,並在服務器向您發送數據時喚醒。或者,您可以使用輪詢或選擇系統調用來檢查傳入數據而不使用後臺線程。 –
謝謝唐吉訶德。我使用持久化的NSURLConnection。所以我認爲,這與你所說的相似。 – Satyam