Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编写带有内存不足错误的大型XML文件_Java_Android_Xml_Dom - Fatal编程技术网

Java 编写带有内存不足错误的大型XML文件

Java 编写带有内存不足错误的大型XML文件,java,android,xml,dom,Java,Android,Xml,Dom,我正在为android开发一个应用程序,我需要创建一个相当大的XML文件 我已经用DOM文档尝试过了,但是因为它驻留在内存中,所以会抛出“内存不足”错误 有人能提出替代方案吗?这是一个从头创建的XML文件。我会将XML逐步写入流或写入器,以便遍历要转换为XML的数据。这样,您不需要比原始数据多得多的内存。对于大数据量,您总是会耗尽内存。把你的数据分开,创建一个小的chunck,然后把所有这些附加在一起,怎么样 或者另一种选择是使用消耗更少的SAX解析器。流式XML就是一种选择。最“普通”的方法可

我正在为android开发一个应用程序,我需要创建一个相当大的XML文件

我已经用DOM文档尝试过了,但是因为它驻留在内存中,所以会抛出“内存不足”错误


有人能提出替代方案吗?这是一个从头创建的XML文件。

我会将XML逐步写入流或写入器,以便遍历要转换为XML的数据。这样,您不需要比原始数据多得多的内存。

对于大数据量,您总是会耗尽内存。把你的数据分开,创建一个小的chunck,然后把所有这些附加在一起,怎么样


或者另一种选择是使用消耗更少的SAX解析器。

流式XML就是一种选择。最“普通”的方法可能是使用StAX:

内存中有块有用吗?你有机会检查一下吗:?最后我用了一个writer,速度有点慢,但完成了任务。我设法创建了一个700mb的xml文件。谢谢大家,每个答案都很有帮助!我会确保您使用的是BufferedWriter。如果没有这个,速度可能会慢10倍。