我正在构建一个只读的iOS应用程序,该应用程序将附带一个当前最新数据的默认SQLite数据存储,但因为每天都会添加新数据并且旧行很可能会更新,驻留在应用程序上的数据需要经常更新(每天一次)。最初将与应用程序捆绑在一起的初始SQLite数据存储大约为3.6 MB,每行重约9.6 KB。
我写了一个应用程序将连接到的Web服务,以获取任何数据更新。更新将在JSON中或应用程序可以获取新的SQLite数据文件的位置。
我的问题
什么是最好的?
1)对现有的SQLite数据存储执行一系列日常INSERTS / UPDATES,通过Core Data驻留在应用程序上
或
2)远程抓取最新SQLite数据存储的新副本?
在后一种情况下,如果应用数据不是最新的,或者对旧行有一些更新(非常不寻常),我只会进行SQLite替换
答案 0 :(得分:3)
我会下载新数据并更新应用程序数据库与下载新数据库。您的初始数据库附带~3500行数据。通过仅发送新行,您将每次更新下载更少的数据。我会为您的更新添加时间戳,以便当应用程序请求更新时,Web服务只能发送所需的数据。如果数据发生更改,您还可以让Web服务发送旧行的更新。
答案 1 :(得分:2)
您需要下载多少数据来更新它?这与3.6 MB相比如何
更新是更多工作,但它可能仍然是 lot 更快,因为您不必等待3.6 MB下载。下载速度慢的用户会感谢你。
但是,如果您要更新几乎所有行,则JSON可能接近3.6 MB。