VTD-XML parseGzip() が完全なファイルをメモリにロードし、その結果 OutOfMemory が発生することがわかりました。
私の Eclipse -Xms20m および -Xmx100m と Gzipped Xml ファイルのサイズは 50MB です。私が使用しているサンプル コードは次のとおりです。
isParsable = vg.parseGZIPFile(xmlFile, true);
long loadingTime = System.nanoTime();
System.out.println("read the file..");
if (isParsable) {
VTDNav vn = vg.getNav();
AutoPilot ap = new AutoPilot(vn);
ap.selectXPath("/records/record[bankbalance >100900]");
i = -1;
int j = 0;
while ((i = ap.evalXPath()) != -1) {
long l = vn.getElementFragment();
byte[] bytes = vn.getXML().getBytes();
fileOutputStream = new FileOutputStream(
"C:\\workspace\\TestFunc\\test\\out" + j + ".xml");
fileOutputStream.write(bytes, (int) l, (int) (l >> 32));
j++;
}