我目前正面臨一個問題,我應該在android設備上存儲我的對象結構。用例:我開始調用一個應用程序服務器(在AsyncTask的幫助下),從服務器獲取一個衆所周知的響應(xml-response),解析數據並最終將其轉換爲我的對象結構(高度複雜的類圖與類之間的許多關聯)。到目前爲止,它的工作,感謝偉大的XMLPullParser;) 我想知道在我的活動之間存儲(當然分享)獲取的數據......我已經知道我可以使用sqlite,但我沒有or-mapper(像j2ee環境中的休眠)。我也不允許將這些敏感數據存儲在設備上(在sqlite或文件系統中),所以我的第一種方法是將這些數據存儲在一個單例中(這個單元存儲在內存中......)。但是當系統在內存不足的情況下會發生什麼情況,android會「銷燬」存儲在我的單例中的數據嗎?我已閱讀關於擴展android.app.Application類...因此,在Android設備上安全地存儲對象數據(從「webservice」調用)的最佳方式是什麼?在android設備上存儲大型應用程序數據的位置?
順便說一句:Android開發是很酷的!我們目前正在將Android Mobile和iPhone移植到Windows Mobile 6.5應用程序,而我的同事(負責iPhone-dev)一直在抱怨^^
嗨Nailuj,謝謝你的詳細解答!所以我認爲唯一的方法是通過擴展android.app.Application類來存儲數據,因爲這是我能夠「安全地」在低內存中存儲獲取數據的唯一機會(使用我自己的單例實現將不知道系統殺死應用程序時)。如何序列化數據並將它們與javax.crypto一起存儲到文件系統中,並在內存可用(或應用程序狀態恢復)時重新加載該數據? – 2010-11-23 09:13:44