2011-08-23 54 views
1

我有一個Android應用程序,它使用一個數據結構,它包含一對二叉樹和其他結構,如列表和數組,全部相互鏈接。我希望大家提出一個保存和回顧這個數據結構的方案。該數據結構是通過SAX解析來創建的(源文件是XML文件)。我曾嘗試java序列化/反序列化,但發現它至少比使用原始SAX解析器構建結構慢兩倍。 (RAM到存儲)時間並不重要,它將作爲後臺進程發生,但我想要一個更快的反序列化(存儲到RAM)方案。數據結構最快的序列化/反序列化方案

我不想要任何類型檢查功能等所有我想要的是快速serailization和更快的反序列化方案。 Google的協議緩衝區也是一個很好的候選人?請建議..

(注:我的應用程序將顯示,直到該數據結構是deserialised一個空白窗口(活動),所以速度是最重要的和我有我的DS往下剝皮在最大可能的)

在此先感謝

+0

您的應用程序是否顯示白屏?拋出一個飛濺,並在背景中舉重。如果從可用性的角度來看,它要花費大約0.75到1秒,那麼無論如何你都應該這樣做。但即時通訊也好奇其他人如何處理服務,看着這個線程:) – yep

+0

雖然我喜歡協議緩衝區一些脂肪酶說,它比http://msgpack.org/ – mibollma

+0

@yep:是啊我的應用程序需要大約3秒到解析整個數據結構..我有一個進度條,但想縮短延遲.. –

回答

1

默認de /序列化通常是相當慢,因爲它廣泛依賴反射(這是慢)。您可以嘗試在您的課堂上通過redefining readObject/writeObject手動實施它,它通常會顯着提升性能。