我有一个Android应用程序,定期说,每周一次从XML服务器下载内容。内容由应用程序使用,不同的Acitivities使用内容的不同部分。
我的问题是设计问题,我应该在SQlite中保存数据还是将其保存为XML文件,哪一个更快阅读?
该应用程序一次只能使用一个内容片段,这意味着后续的XML内容下载将替换旧内容。
答案 0 :(得分:4)
如果可能的话,我会选择SQLite。根据我的经验,XML文件操作在手持设备上变得非常慢(我记得我在Windows Mobile系统上工作,但我认为所涉及的原理是相同的)随着文件变大。
SQLite数据源中的读取速度会更快,但您必须决定它的重要性。这会对系统产生多大影响?将XML文件转换为SQLite文件需要多少额外的工作?转换必须进行一次还是每次?
我决定使用XML进行该项目,我认为现在,在项目发布后大约6个月,我会做出不同的选择。每次文件操作都需要几秒钟的时间,并且用户将其报告为非常烦人且工作流程中断。但是在该项目中,文件操作每隔几分钟左右就会发生一次。如果间隔较长或在后台运行(用户不注意),那么我认为使用SQLite没有太多明显的优势。
我建议你考虑很多选择,因为一旦项目出现,几乎不可能改变你的决定。