0

フォルダーに大きな XML ファイル (6000 行、1.4MB) が保存されてい/mnt/sdcardます。XML ファイルから 1 つのノードを読み取り、Android アプリケーションのファイルからバージョンを取得したいと考えています。

ファイルが大きく、sdcard に保存されているため、XML の読み取りはパフォーマンスを低下させますか?

4

2 に答える 2

1

1つのノードだけを読み取る必要がある場合は、使用しませんXPathか?

SAXまたはDOMを使用した解析と比較してパフォーマンスが高速化される場合とされない場合があります(ケースに合わせてベンチマークする必要があります)が、コードが単純化される可能性があります。

于 2012-12-31T07:01:49.957 に答える
1

はい、1.4 MB の XML を読み取って解析するには、ある程度の時間がかかります (私の経験から、0.1 ~ 2 秒と見積もっています)。どれだけそれを行うかによって異なり、許容できるかどうかは、許容できると見なすものによって異なります。自分でベンチマークすることをお勧めします。

また、データを取得したら読み取りを停止できる SAX などのパーサーを使用します。このように、バージョンが通常先頭にある場合、ファイル全体を読み取って解析する必要はありません。バージョンが常に最初の行であることがわかっている場合、パフォーマンスはおそらく非常に優れています。

于 2012-12-31T06:10:51.910 に答える