2012-06-14 121 views
2

我正在製作一個應用程序,每次都需要跟蹤用戶的位置。它也可以在後臺模式下工作。問題是我多次使用其他應用程序時。其他應用程序可能會導致大量內存。我的應用程序有時會被系統終止。沒有崩潰日誌。所以我想知道一些原因。有什麼辦法可以避免我的應用程序被終止?非常感謝您的幫助。如何避免我的應用程序在運行時終止,並在後臺跟蹤我的位置?

回答

4

你不能阻止應用程序的終止,但你可以做什麼最好的時候,它在後臺進入免費盡可能多的內存,你可以保持它活着就是 - 高速緩存圖像,文件...同時停止任何正在運行定時器,UI更新和一切耗時。遵循MVC規則,最好的實現是創建一個單獨的類(模型),它只負責位置更新(裏面有CLLocationManager,而類實現了它的委託方法)。因此,您應該做的僅僅是收集由CLLocationManager收到的位置點,而不是別的。還要實施-applicationWillTerminate中的方法AppDelegate。這個方法僅在應用程序處於後臺並且將被終止時(無論是由操作系統還是用戶)調用,並且在CoreData中保存位置點,或者您可以執行此操作...我有這種方法,到目前爲止,我的應用程序已經生活了24小時(當然收費),而不會被殺死。

2

在後臺運行的應用程序依賴於內存的使用,電池的壽命etc.When有許多應用程序在後臺運行,您的應用程序可能會terminated.I不認爲你可以在後臺永久運行你的應用程序。

+0

感謝您的快速回復。如果我的應用使用較少的內存,它是否會減少被終止的機會? – TK189

+0

你可以通知用戶,只要位置changes.Follows此鏈接:http://stackoverflow.com/questions/3775730/iphone-app-runnung-in-the-background-terminates-after-10-minutes –

相關問題