Korzystam z biblioteki odgzipowujacej pobrane dane z Internetu tinyline gzip (http://www.tinyline.com). Clien side wyglada tak:

    private InputStream getInputStream(HttpConnection conn) throws IOException {
        String xmlstring = new String();
        
        if (HttpConnection.HTTP_OK == conn.getResponseCode()) {
            InputStream is = conn.openInputStream();
            final GZIPInputStream gzipis = new GZIPInputStream(is);

            while (gzipis.available() != 0) {
                xmlstring += (char)gzipis.read();
            }
        }
        return new ByteArrayInputStream(xmlstring.getBytes());
    }

    public synchronized void parse() throws IOException {
        Reader reader = new InputStreamReader(getInputStream(conn), "utf-8");
        XmlParser parser = new XmlParser(reader);
        ParseEvent pe = null;
    // other stuff...
    }

Problem polega na tym że zgzipowane pliki xml jakie pobieram sa b. duza, okolo 100kb-200kb. Trzymanie odgzipowanej tresci w jednej zmiennej string powoduje przepelnienie stosu i brak pamieci.

OutOfMemoryException :)

Nastepnie jak widac w kodzie probuje z tego zrobic InputStream aby parser kxml pull parsingiem mogl to przeparsowac. Niestety do tego momentu aplikacja sie wiesza przez przepelnienie stosu :|

da sie jakos przekazywac moze te bajty od razu z GZIP do kxml aby nie trzymac calego dokumentu w pamieci?