Iphone 如何避免我的应用程序在';她在后台运行并跟踪我的位置?

Iphone 如何避免我的应用程序在';她在后台运行并跟踪我的位置?,iphone,ios,background,location,terminate,Iphone,Ios,Background,Location,Terminate,我正在制作一个应用程序,每次都需要跟踪用户的位置。它也可以在后台模式下工作。问题是当我多次使用其他应用程序时。另一个应用程序可能会导致大量内存。我的应用程序有时会被系统终止。没有崩溃日志。所以我想知道一些原因。有没有办法避免我的应用程序被终止?非常感谢您的帮助。在后台运行的应用程序取决于内存使用情况、电池寿命等。当有许多应用程序在后台运行时,您的应用程序可能会被终止。我认为您无法在后台永久运行应用程序。您无法阻止应用程序被终止,但你能做的最好的事情是当它进入后台时,尽可能地释放内存-缓存的图像、

我正在制作一个应用程序,每次都需要跟踪用户的位置。它也可以在后台模式下工作。问题是当我多次使用其他应用程序时。另一个应用程序可能会导致大量内存。我的应用程序有时会被系统终止。没有崩溃日志。所以我想知道一些原因。有没有办法避免我的应用程序被终止?非常感谢您的帮助。

在后台运行的应用程序取决于内存使用情况、电池寿命等。当有许多应用程序在后台运行时,您的应用程序可能会被终止。我认为您无法在后台永久运行应用程序。

您无法阻止应用程序被终止,但你能做的最好的事情是当它进入后台时,尽可能地释放内存-缓存的图像、文件。。。同时停止任何运行计时器、UI更新和所有耗时的操作。通过遵循MVC规则,最好的实现是创建一个单独的类(模型),该类只负责位置更新(内部带有
CLLocationManager
,该类实现其委派方法)。因此,在后台,您应该做的唯一一件事就是收集
CLLocationManager
接收到的位置点,而不是别的。还可以在
AppDelegate
中实现方法
-applicationWillTerminate
。仅当应用程序位于后台且将被终止(由操作系统或用户终止)并在CoreData中的位置点内持久化时,才会调用此方法,例如,或者无论您如何操作。。。我有这样一种方法,到目前为止,我的应用程序已经运行了24小时(当然是收费的),没有被杀死。

感谢您的快速回复。如果我的应用使用更少的内存,是否会减少被终止的机会?并且您可以在位置更改时通知用户。请点击此链接: