从SD卡读取大型xml文件的效率如何?

时间:2012-12-31 06:04:32

标签: android xml performance

我在/mnt/sdcard文件夹中存储了一个大的XML文件(6000行,1.4MB)。我想从XML文件中读取一个节点,以从我的Android应用程序中的文件中获取版本。

由于文件很大并存储在SD卡中,因此读取XML会降低性能吗?

2 个答案:

答案 0 :(得分:1)

是的,阅读和解析1.4 MB的XML需要一些时间(根据我的经验,我估计在0.1到2秒之间)。多少取决于你如何做,以及它是否可接受取决于你认为可接受的。我建议你自己做基准测试。

此外,使用像SAX这样的解析器,一旦有了数据就可以停止读取。这样,如果版本通常在开头,则无需读取和解析整个文件。如果您知道版本始终是第一行,那么性能可能会非常好。

答案 1 :(得分:1)

如果您只需要阅读一个节点,为什么不使用XPath

与使用SAX或DOM进行解析相比,它可能提供或不提供性能加速(您需要自己对自己的情况进行基准测试),但它可能会简化您的代码。