目前我正在研究一个Android应用程序,我需要将Csv文件中的数据插入到数据库中。该Csv文件有超过2.5lakhs的数据。内存不足错误-Android
有没有什么办法可以将Csv文件直接转换成.db格式?
信息:Csv文件的大小是8 Mb。
我试了一下:
起初,我尝试解析在我的应用CSV文件,插入1000的数据,并成功地做到了。但是,当检索和存储List中的数据时,我得到了OutOfMemoryError。
有什么办法可以整理出来吗?
目前我正在研究一个Android应用程序,我需要将Csv文件中的数据插入到数据库中。该Csv文件有超过2.5lakhs的数据。内存不足错误-Android
有没有什么办法可以将Csv文件直接转换成.db格式?
信息:Csv文件的大小是8 Mb。
我试了一下:
起初,我尝试解析在我的应用CSV文件,插入1000的数据,并成功地做到了。但是,当检索和存储List中的数据时,我得到了OutOfMemoryError。
有什么办法可以整理出来吗?
您不应该将整个文件一次加载到内存中。使用流式处理的方法,在这里您逐行处理文件(例如LineNumberReader
)并单独处理每一行,以便JVM必须仅将实际行保留在RAM中。
您也可以使用批处理,比如说1000行来处理一个坐标。这样可以提高速度(减少数据库交易量),同时将内存占用降至最低。
也尝试最大化对象的重用率,避免不必要的创建。
什么是'2.5lakhs'?你是如何试图读取文件的? – WarrenFaith
'2.5lahks'看起来像'bazzilions'确实>) – injecteer
250000字符串objects.Yes我试过了,但它需要太多时间,所以我创建1000个数据的另一个文件。实际上,问题发生时,我在列表中存储1000个对象。 – Ram