我们有一个在后台运行的 GPS 跟踪类型的 iOS 应用程序。我们看到很少有应用程序似乎applicationWillTerminate在跟踪过程发生时被调用的方法终止的情况。
我们或多或少地排除了内存不足的原因。也绝对不是电池电量问题或用户终止应用程序。
任何建议 iOS 终止应用程序的下一个最可能的原因是什么?
我们的一些想法是 CPU 使用率、手机温度水平或仅仅是因为应用程序在后台运行了很长时间(例如几天或几周)。
这些可能甚至可能导致 iOS 终止应用程序的原因中的任何一个吗?
我们有一个在后台运行的 GPS 跟踪类型的 iOS 应用程序。我们看到很少有应用程序似乎applicationWillTerminate在跟踪过程发生时被调用的方法终止的情况。
我们或多或少地排除了内存不足的原因。也绝对不是电池电量问题或用户终止应用程序。
任何建议 iOS 终止应用程序的下一个最可能的原因是什么?
我们的一些想法是 CPU 使用率、手机温度水平或仅仅是因为应用程序在后台运行了很长时间(例如几天或几周)。
这些可能甚至可能导致 iOS 终止应用程序的原因中的任何一个吗?
来自 Apple 的后台执行文档:
在后台运行时做最少的工作。给予后台应用程序的执行时间比给予前台应用程序的时间量更受限制。花费太多时间在后台执行的应用程序可能会被系统限制或终止。
另外,我假设您已经确认您没有违反以下规定(来自同一个文档):
每次调用 beginBackgroundTaskWithName:expirationHandler: 或 beginBackgroundTaskWithExpirationHandler: 方法都会生成一个唯一令牌以与相应任务关联。当你的应用完成一个任务时,它必须调用 endBackgroundTask: 方法并带有相应的令牌,让系统知道该任务已经完成。未能为后台任务调用 endBackgroundTask: 方法将导致您的应用程序终止。