有一個Web服務提供了我的應用程序使用的一些數據。這些數據相當大,只是非常少有變化,所以我認爲如果應用程序可以將其緩存在SD卡上並根據需要進行更新,那將會很不錯。關於在Android上保存數據的建議?
當前我正在抓取數據(一個XML文件)並使用SAX將其解析到對象樹中。這個過程通過我的WIFI(最多)2-3秒。但是,將結果對象序列化到SDCard需要更長的時間(一分鐘或更長時間),並且反序列化它仍然比首先下載/解析需要更長的時間。
有沒有人有任何改善這個建議或替代想法持久化這些數據(除了只保存XML文件和每次重新解析)?
更新:這不僅僅是一個簡單的記錄集合。對象圖實際上非常複雜並且將其存儲到數據庫中會導致數十個表中每個表中只有一條記錄。
我正在認真考慮直接從服務器存儲XML文件(可能會)...它似乎只需要反序列化對象「應該」比重新解析XML文件更快。 – 2010-01-07 22:09:09
對象序列化的工作原理是非常通用的,泛型代碼運行速度非常緩慢。另外,存儲空間更大,我認爲我將序列化的文件大小從10+千字節降低到了千字節以下(這確實計算了我的JSON)。 – 2010-01-07 22:55:07