フォルダーに大きな XML ファイル (6000 行、1.4MB) が保存されてい/mnt/sdcard
ます。XML ファイルから 1 つのノードを読み取り、Android アプリケーションのファイルからバージョンを取得したいと考えています。
ファイルが大きく、sdcard に保存されているため、XML の読み取りはパフォーマンスを低下させますか?
フォルダーに大きな XML ファイル (6000 行、1.4MB) が保存されてい/mnt/sdcard
ます。XML ファイルから 1 つのノードを読み取り、Android アプリケーションのファイルからバージョンを取得したいと考えています。
ファイルが大きく、sdcard に保存されているため、XML の読み取りはパフォーマンスを低下させますか?
1つのノードだけを読み取る必要がある場合は、使用しませんXPath
か?
SAXまたはDOMを使用した解析と比較してパフォーマンスが高速化される場合とされない場合があります(ケースに合わせてベンチマークする必要があります)が、コードが単純化される可能性があります。
はい、1.4 MB の XML を読み取って解析するには、ある程度の時間がかかります (私の経験から、0.1 ~ 2 秒と見積もっています)。どれだけそれを行うかによって異なり、許容できるかどうかは、許容できると見なすものによって異なります。自分でベンチマークすることをお勧めします。
また、データを取得したら読み取りを停止できる SAX などのパーサーを使用します。このように、バージョンが通常先頭にある場合、ファイル全体を読み取って解析する必要はありません。バージョンが常に最初の行であることがわかっている場合、パフォーマンスはおそらく非常に優れています。