2011-04-19 17 views
0

我需要同步我的本地sqlite數據庫與遠程mysql數據庫。 我正在測試不同的XMLRPCJSONRPC項目。在android上的RPC導致GC_EXPLICIT

我發送一個數據包,其中包含尚未同步的每個表的所有條目。

當這些RPC項目正在解析數據時,logcat填充爲GC_EXPLICIT

GC_EXPLICIT意味着垃圾收集 已明確要求 收集,而不是通過在堆 高水位標記被觸發。發生在所有地方的 ,但最有可能的情況是 當一個線程正在被終止或當一個綁定器通信被取消時 。 〜羅伯特

我試圖修改一個XMLRPC項目,以便在從數據包中讀取條目之後執行所需的操作,然後使用相同的對象變量來實例化下一個條目。

但是這並沒有解決對垃圾收集器的收集請求。

有什麼想法?提示?建議?

回答

0

幾天前我解決了我的問題。

我使用由Alex製作的Android JSON RPC模塊(project)。

我刪除了模塊解析JSON的部分。並使用正則表達式創建我自己的解析例程。該模塊還執行SQLite查詢,而不是創建JSON對象。

我改變的另一件事是該模塊將接受和接收多個數據包,最多1000個條目。

代碼速度很快,需要30分鐘才能同步3000個條目,現在只需要3分鐘。我發佈這些信息而不是代碼的原因是代碼非常針對項目。

有關如何循環以及爲什麼不分配超過1000個對象的信息在android performance document中描述。

相關問題