繁体   English   中英

在Android中从CSV文件加载大量数据的最有效方法是什么?

[英]What is most efficient way for loading big amount of data from CSV file in Android?

我有15MB的CSV文件(35万行)。 我在加载此数据时遇到问题。 我努力了:

1)将文件数据加载到内存:相当快(大约7秒),但是我收到OutOfMemory错误,并且操作系统关闭了我的应用程序。 即使没有此错误,在每次启动应用程序时加载7秒钟的数据也不是完美的解决方案。

2)加载到SQLite DB:会很完美(只需要加载一次),但是加载过程需要1分钟以上的时间(我使用db.begintransaction / endtransaction来加快过程)。

3)我无法为应用提供预加载的数据,因为此CSV包含供稿,应定期对其进行更新。

我正在用Samsung S3测试应用程序。 不是最慢的智能手机。

------更新

可能有用于将CSV数据批量加载到数据库的特殊工具?

我无法向应用程序发送预加载的数据,因为此CSV包含供稿,应定期对其进行更新。

据我了解,您需要定期使用服务执行此后台操作,并与服务器同步数据,同时将接收到的记录插入/更新到SQLite数据库。

第一次当数据库为空时,您可以在进度栏上显示适当的消息,指示正在检索数据并将其复制到本地数据库中。 完成此操作后,将显示已接收的数据。

稍后,您可以使用SyncAdapter保持应用程序数据库与服务器同步或定期运行服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM