从url下载12 mb文本数据并保存到SD卡...发生堆内存问题.任何解决方案

12 android heap-memory large-files

我使用以下两种方法,但不适用于12 mb的大数据

char[] chars = new char[1024];
int len;
while((len=buffer.read(chars))>0) {
    data.append(chars,0,len);
}
Run Code Online (Sandbox Code Playgroud)

while ((line = reader.readLine()) != null) {
    sb.append(line + "\n");
}
Run Code Online (Sandbox Code Playgroud)

ove*_*t13 8

将数据以块的形式保存到SD卡中.然后,使用Android的内置功能XmlPullParser,您可以通过以下方式解析以前保存的文件:

  1. 在刚刚下载的文件上打开输入流
  2. 使用该方法 setInput(InputStream inputStream, String inputEncoding)
  3. 解析这个巨大的XML文件时玩得开心.


小智 -1

我遇到了同样的问题,我使用这个,如果可能的话,您应该划分 xml 文件,然后尝试将该文件读入字符串并解析它。