大家好, 我可以用1000行成功读取excel表。但是如果行数大于5000而不是我的误差。
java.lang.OutOfMemoryError:[内存耗尽] 在dalvik.system.NativeStart.main(本地方法)
因为我正在将整个excel文件加载到内存中而出现错误。无论如何我都可以读取块中的excel文件,以便减少内存消耗? 我正在使用“Aspose Cells for Android”库来读取excel文件。请帮忙。
答案 0 :(得分:1)
.xlsx文件实际上是基于xml的压缩文件,这就是为什么它们占用的磁盘空间小于传统的.xls格式。您可以将文件扩展名更改为.zip以检查内部。
那么API的作用是首先取消压缩文件,然后读取它。 在解压缩期间可能会发生内存耗尽。
如果大小为10Mb,内存中实际未压缩的大小可能超过1Gb,您可以尝试通过在Android中添加更多可视内存来配置手机。
或者只是将大文件剪切到一个文件夹中的PC中的小文件片段,然后使用您的应用程序处理该文件夹。