我在/mnt/sdcard
文件夹中存储了一个大的XML文件(6000行,1.4MB)。我想从XML文件中读取一个节点,以从我的Android应用程序中的文件中获取版本。
由于文件很大并存储在SD卡中,因此读取XML会降低性能吗?
答案 0 :(得分:1)
是的,阅读和解析1.4 MB的XML需要一些时间(根据我的经验,我估计在0.1到2秒之间)。多少取决于你如何做,以及它是否可接受取决于你认为可接受的。我建议你自己做基准测试。
此外,使用像SAX这样的解析器,一旦有了数据就可以停止读取。这样,如果版本通常在开头,则无需读取和解析整个文件。如果您知道版本始终是第一行,那么性能可能会非常好。
答案 1 :(得分:1)
如果您只需要阅读一个节点,为什么不使用XPath
?
与使用SAX或DOM进行解析相比,它可能提供或不提供性能加速(您需要自己对自己的情况进行基准测试),但它可能会简化您的代码。