我有一个使用位置服务的应用。它会在应用程序处于前台以及后台时将位置数据发送到服务器。
由于大量使用位置服务,系统是否可能强制终止我的应用?或者是"差距"由于GPS /互联网信号不佳,我的测试人员注意到的位置数据?
答案 0 :(得分:1)
根据App Programming Guide for iOS:
在应用程序终止部分(强调添加),
应用程序必须随时准备终止,并且不应等待保存用户数据或执行其他关键任务。系统启动的终止是应用程序生命周期的正常部分。系统通常会终止应用程序,以便它可以回收内存并为用户启动的其他应用程序腾出空间,但系统也可能会终止行为不当或未及时响应事件的应用程序。
Apple没有定义"行为不端,"但是在后台状态下进行非常频繁的网络或GPS定位请求根本就不是一个好公民。您可以通过以较低的准确度订阅位置更改来降低这些更新的频率。 (Apple强烈建议使用重要更改位置服务。)
除非精确且连续的位置数据对您的应用程序至关重要(例如导航应用程序的情况),您应该尝试在后台状态下限制使用位置服务。
来自同一指南的Background Execution section,
需要在后台运行以支持特定类型任务的应用程序可声明其对一种或多种后台执行模式的支持。
因此,如果您碰巧需要以最佳准确度进行位置更新,并且您正确地声明了对该后台模式的支持,那么系统可能会更加容忍任何频繁的后台任务执行,资源占用或其他任务。 。不当行为"但是,声明对后台模式的支持并不能免除您的应用程序尝试最小化其资源使用占用空间;你应该尽力做一个好公民。
回答你的问题,