SOAP - Very large XML response - OutOfMemoryError

前端 未结 3 1806
再見小時候
再見小時候 2020-12-10 09:17

First, this question looks like Very large SOAP response - Android- out of memory error subject. Because of my English weakness and the similarity of this probl

3条回答
  •  孤城傲影
    2020-12-10 09:56

    Thank's Graeme, opening connection as a byte stream works. If it could be helpfull to somebody, this is my source code

            //Make a temporary file to save data
            File responseFile = File.createTempFile("SOAP", "xml", context.getFilesDir());      
            int nbCharRead = 0; int i=0; int totalRead = 0;
    
            //Send query
            OutputStream outputS = url_Connection.getOutputStream();
            Writer w_out = new OutputStreamWriter(outputS);
            w_out.write(webServiceXml);
            w_out.flush();
            w_out.close();
    
    
            //Buffers
            BufferedReader bufReader = new BufferedReader(new InputStreamReader(url_Connection.getInputStream()));
            BufferedWriter bufWriter = new BufferedWriter(new FileWriter(responseFile));
            char[] buffer = new char[10000];
    
    
    
            while((nbCharRead = bufReader.read(buffer, 0, 10000)) != -1)
            {
                totalRead += nbCharRead;
                Log.d("Test InputStream", "i: " + i++ +" - " + nbCharRead + " -> " + totalRead);
                bufWriter.write(buffer, 0, nbCharRead );
            }       
    
            if(bufWriter != null)
            {
                bufWriter.flush();
                bufWriter.close();
            }
    
    
            Log.w(MsgLog, "--- Stream Got--- ; Total : " + totalRead);
    

提交回复
热议问题