Robię parsowanie xml i robię ciąg znaków replaceAll
, który używa ogromnej ilości miejsca w pamięci, jak pokazano na poniższym obrazie.Zastąp ciąg przy użyciu ogromnej przestrzeni sterty
Kod wygląda tak:
private final String getText() {
// special handling for apostrophe encoding
// site will expect both ' , ' and %27.
// change %27 or 'or ' to '
return _text.toString().trim().replaceAll("'", "'")
.replaceAll("'", "'").replaceAll("%27", "'");
}
Sposób getText()
często dzwonić z endElement()
metody SAXParser.
Może ktoś sugerują, w jaki sposób zmienić tę funkcjonalność, która będzie używać mniej miejsca sterty
! [Śladu] [1]
masz do czynienia z ogromnymi węzłów tekstu w xml? – jtahlborn