簡體   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