7

私はAndroidで通常のXML解析を行っていますが、この例外が発生することはめったになく、特定の電話でのみ発生します。この問題の根本にたどり着くことができませんでした。誰がこれを引き起こしているのか考えていますか?

    java.lang.ArrayIndexOutOfBoundsException: src.length=8192 srcPos=1 dst.length=8192 dstPos=0 length=-1
    at java.lang.System.arraycopy(Native Method)
    at org.kxml2.io.KXmlParser.fillBuffer(KXmlParser.java:1489)
    at org.kxml2.io.KXmlParser.skip(KXmlParser.java:1574)
    at org.kxml2.io.KXmlParser.parseStartTag(KXmlParser.java:1049)
    at org.kxml2.io.KXmlParser.next(KXmlParser.java:369)
    at org.kxml2.io.KXmlParser.next(KXmlParser.java:310)
4

3 に答える 3

1

同様の例外があります。私の場合、xml はダウンロードされ、SD に保存されていました。ファイルを開くと、いわば「文の途中」が切り取られていることがわかりました。ファイルのダウンロード中にエラーが発生したようです。この場合、ファイルを削除して再ダウンロードすると問題は修正されましたが、今後同じタイプの問題が発生するのを防ぐために、xml を読み取るときに ArrayIndexOutOfBoundsException をチェックし、ファイルが破損していると想定します。

これは明らかに、現時点で漠然と定義された問題に対する応急処置にすぎません。もっとわかったら、答えを更新します。

于 2012-09-21T02:04:31.253 に答える
0

これについて言及している Android 4.4 のバグ修正を見つけました: Change 61530

したがって、取得する必要がある適切な例外は次のとおりです。Unterminated element content spec、予期しない EOF を意味します。

于 2014-01-13T09:40:00.627 に答える