3

Assetsフォルダーからxmlファイルを読み込んでいます。OutOfMemoryErrorを取得しています。私が使用したコードは

private String convertStreamToString(InputStream is) {  
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + NEW_LINE);
        }
        reader.close();

    } catch (IOException e) {
        //do nothing.
    } finally {
        try {
            reader.close();
        } catch (IOException e) {
            //do nothing.    
        }
    }
    reader=null;
    return sb.toString();
}

この例外を取り除く別の方法はありますか?コードを投稿するとさらに役立ちます。前もって感謝します。

4

3 に答える 3

3

文字列を使用して大きなXmlを解析することはお勧めできません。パーサーのストリーミングバージョンに目を向ける必要があります。Google Http Javaクライアントはそのようなライブラリを提案します:http ://code.google.com/p/google-http-java-client

于 2012-12-04T06:50:43.933 に答える
0

line=nullを置く; sbに追加した後のwhileループ。

于 2012-12-04T06:50:27.363 に答える