我试图弄清楚是否在只有 29k 行的 Android 上使用 sqlite/spatialite。每次用户移动到 100 米以外时,我只需要找到离用户最近的位置,大约每 10 分钟一次。我觉得运行查询空间数据库而不是循环集合和计算距离可能是矫枉过正。在这种情况下,什么时候使用数据库是多余的?
问问题
245 次
1 回答
2
这不是矫枉过正。如果您不希望您的用户讨厌该应用程序,您实际上可能需要将该数据存储在某个地方。
在手机上运行一个恒定的进程会不断消耗手机的系统资源。消耗资源会杀死手机电池。人们不喜欢会耗尽手机电池的应用程序。重复执行对 Web 服务端点的这么多记录的查询似乎也不是最好的主意,因为它会吃掉用户的数据计划。用户往往也不喜欢这样。
活动内存中的 29K 记录可能比您应该考虑的要消耗更多的电话资源,除非您正在做一些非常非常特别的事情。
但是,如果您的数据没有改变,那么数据库并不是存储和查询数据的唯一方法。中间的某个地方可能有更好的解决方案,但我不希望消耗不必要的用户数据计划和/或电池寿命分配会有好的结果。
于 2016-03-26T00:43:05.263 回答