【问题标题】:Improving performance when import xml files to android device将 xml 文件导入到 android 设备时提高性能
【发布时间】:2015-07-23 07:57:43
【问题描述】:

在我的 android 应用程序中,我使用 SAX Parser 将大型 xml 文件 (35-40 MB) 导入 sqlite 数据库。 我的平板电脑有一个四核处理器 (1,3 GHz) 和 1 GB RAM。 文件上传大约需要 4-5 分钟。

我需要提高上传性能。

SAX 解析器的最大性能是多少(MB/分钟)? 如果我需要改进设备的硬件,需要更改哪些内容(处理器、RAM 等)?

【问题讨论】:

  • 使用sql事务进行插入
  • 我在将数据插入我的 sqlite 数据库时使用事务。
  • 我不了解 Android,但我通常认为解析 40Mb 的 XML 需要接近 2 秒而不是 4 分钟。我想延迟在其他地方,例如网络费用。
  • 4-5 分钟对于 Android 上这么大的文件来说并不可怕。由于新的 Android 运行时 具有更快的垃圾收集速度,一项系统更改将帮助我们使用装有 Android lollipop 的设备。

标签: android xml performance sqlite device


【解决方案1】:

SAX 解析器的最大性能是多少(MB/分钟)?

使用SAX,解析所需的上下文受限于当前元素的树深度,这意味着内存需求大大降低,你实际上无法给出具体答案,因为这取决于情况.

让我们回到实际问题

在这种情况下如何提高性能

您实际上必须从两个方面来看待它,正如您上面提到的软件确实会影响性能,但根据您的平板电脑属性,您需要同时做这两个。

第一:

看看这个告诉你best practice to parse and deal with xml files

它还包含一个部分,详细描述了如何提高XML 验证的性能

如果我需要改进设备的硬件,需要改进什么 (处理器、RAM 等)?

是的,增加RAM 绝对会提高上传过程的性能,它实际上可能比您将在代码中进行的更改更有效。

更多的内存等于更快的速度

【讨论】:

    猜你喜欢
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 2021-06-09
    • 2013-05-08
    • 2011-06-22
    • 1970-01-01
    相关资源
    最近更新 更多