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