[英]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.