2014-03-07 28 views
0

我想開發一個android應用程序,它從一個txt文件(約700萬行長度接近32 MB)中獲取一些數據,並根據某些條件處理它他們在一個SQL數據庫中並檢索它們。就數據庫而言,它可以很好地工作,因爲我已經以另一種方式對其進行了測試,但由於某些原因,它很難處理該文件,而且我的代碼變得非常遲鈍。什麼是這樣做的有效方式?用數據庫處理Android應用程序中的大文本文件

回答

0

如果耗時的部分是文件輸入,可能會使用異步任務在後臺完成工作(讀取文件並準備數據庫),然後在完成後通知用戶。這樣用戶可以繼續使用該應用程序。這裏有一些鏈接:

AsyncTask

AsyncTask example

根據文檔中的AsyncTask應該只用於沒有那麼長操作(只有幾秒鐘):

AsyncTasks應該理想地用於短操作(最多幾秒 )。如果您需要保持線程長時間運行,建議您使用vario我們的API由 提供的java.util.concurrent pacakge如Executor,ThreadPoolExecutor 和FutureTask。

0
  1. 運行在單獨的線程(異步任務)的代碼
  2. 代替線加載整個文件一次,過程中它的一行。這將幫助您減少內存消耗
相關問題