1

XmlPullParser を使用して、モバイル デバイスで http 経由でデータを徐々にロードしています。

このような接続の速度は 1KB/秒以下になることが多いため、PullParser のデフォルトのバッファ サイズである 8096 バイトを下げたいと考えています。

どうすればそれが可能になるのか、誰にも考えがありますか? (また、PullParser が独自のバッファーを持っているのはなぜですか?)

4

1 に答える 1

2

私の知る限り、に渡される Reader オブジェクトまたは InputStream オブジェクトのバッファ サイズを設定する必要がありますXmlPullParser.setInput()

setInput() メソッドはいずれかのタイプのソースを受け入れることができますが、どちらも抽象的であるため、使用する Reader または InputStream の実際のタイプは異なる場合があります。バッファが含まれているものもあります。その場合は、ドキュメントを参照して確認する必要があります。使用しています。

編集:

バッファを持つ XmlPullParser を実装するクラスについては、何らかの「ワークスペース」が必要になるため、これは避けられないように思えますが、バッファのサイズと、それがReader または InputStream から毎回要求されるデータは、クラス定義に帰着します。

結論として、毎回要求されるデータの量を制御できる唯一の方法は、XmlPullParser を実装する独自のクラスを定義することです。最も簡単な方法は、オープン ソース クラス (Apache クラスなど) を拡張し、Reader または InputStream ソースから読み取るメソッドを単純にオーバーライドすることです (より小さなバッファーを使用)。

于 2010-12-24T02:15:54.467 に答える