2015-01-04 44 views
1

我目前正在研究一個需要從通話記錄和文本歷史記錄中讀取的Android應用程序。爲了進一步分析,我已經從相應的內容提供者中提取了大量條目,創建並將它們全部插入到SQLite數據庫中。在Android中處理非常大量數據的好方法是什麼?

但是我遇到的問題是,當它在使用多年的手機上運行時(意味着通話和文本產生了大量的數據),檢索過程和數據庫構建過程花費太多時間甚至可能導致應用程序崩潰。即使我試圖將這些進程放入AsyncTask中,問題仍然存在。所以我的問題是:

我在做一個很好的方式,只是把任何耗時的操作遠離主UI,或者什麼是更好的方式,如果有的話,在Android中處理非常大量的數據?

回答

0

使用分頁邏輯。如果用戶請求,只抓取最新和相關的數據並加載較舊的數據。

0

大多數Android手機上的通話記錄限制爲500條目CallLog.Calls,而SMS提供商沒有此類限制,您可以查詢表的數量並將您的查詢限制爲50,並將其傳遞到單獨的線程處理。另外請確保您在低優先級的後臺服務中運行此操作,以免干擾設備中正在進行的其他任何操作。

相關問題