我有以下问题:
我正在开发检查员用来检查部分道路的 iOS 应用程序。当他们在外面接受检查时,该应用程序具有跟踪驾驶路线的功能。长时间驾驶时,例如 4-5 小时,应用程序会崩溃。为了存储整个路线,我使用了一个数组来存储每个坐标。数组是否可能变得太大并超过内存限制?
如果有人给我建议,我会很高兴。谢谢
最佳答案
您不应该将所有位置点都存储在内存中。您需要设计一个缓冲区来存储临时位置,然后在每 N 个位置(取决于您存储位置点的频率)上保存到持久存储(如 CoreData、SQLite,甚至是 .gpx 文件)。
我还建议您仔细查看位置管理器的准确度。更高的准确性意味着更多的数据和更多的电池使用。
您还应该考虑过滤位置点,只存储有意义的位置! (例如,如果某人只是站在某个地方,您不想记录重复的位置,这些位置在坐标上不会完全相同,但彼此非常接近。)
关于iOS Swift 将 GPS 坐标存储到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37712314/