【问题标题】:Help me choose between XML or SQL Lite on android帮助我在 Android 上的 XML 或 SQL Lite 之间进行选择
【发布时间】:2010-05-03 06:07:35
【问题描述】:

我有一个 android 应用程序,它会定期(例如每周一次)从服务器以 XML 格式下载内容。内容由应用使用,不同的活动使用内容的不同部分。

我的问题是一个设计问题,我应该将数据保存在 SQlite 中还是将其保存为 XML 文件,哪个读取速度更快?

应用一次只能使用一个内容片段,这意味着后续的 XML 内容下载会替换旧的内容。

【问题讨论】:

    标签: xml android performance sqlite


    【解决方案1】:

    如果可能的话,我会选择 SQLite。根据我的经验,随着文件变大,手持设备上的 XML 文件操作会变得非常慢(记住我在 Windows Mobile 系统上工作过,但我认为所涉及的原理是相同的)。

    在 SQLite 数据源中读取速度会更快,但是您必须确定它的重要性。这多久会真正影响系统?将您的 XML 文件转换为 SQLite 文件需要做多少额外的工作?转换是否必须进行一次或每次?

    我决定为那个项目使用 XML,我认为现在,在项目发布大约 6 个月后,我会做出不同的选择。文件操作每次最多需要几秒钟,用户报告它非常烦人并且工作流程中断。但是,在该项目上,文件操作每隔几分钟左右发生一次。如果间隔较长或在后台运行(用户没有注意到),那么我认为使用 SQLite 没有很多显着优势。

    我建议您多考虑一下您的选择,因为一旦项目发布,几乎不可能改变您的决定。

    【讨论】:

    • 好的,谢谢。所以,如果文件每 1o 天下载一次,我应该使用 Timer Task 然后使用 AsycnTask 下载它还是应该只实现一个服务?
    • @Ngetha:既然间隔这么长,你真的认为有必要让进程/服务一直运行吗?你确定不能用 Windows Scheduler 实现同样的效果吗?
    • 我刚刚阅读了有关警报服务的信息,正在考虑使用它,您有这方面的工作经验吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 2014-08-30
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    相关资源
    最近更新 更多