我的應用程序需要我在Android平臺上存儲位集以及一些伴隨元數據(現在只能讀取)。現在顯然我可以實現Serializable接口,但是我聽說它在Android上非常慢(我可以想象必須對定製虛擬機和編譯器做些什麼來使這種反射功能效率低下)。 我應該:如何在Android上高效地存儲位集
- 使用Android的包裹系統,這似乎是一個「輔助」編組技術。
- 使用自定義的二進制格式(可能會刪除標題信息的BMP樣式)。
- 手動存儲到XML文件中,使用XML解析器檢索數據。
現在從我的理解XML序列化或parcelization是不是真的向後兼容Android? XML的吸引力當然是可以在普通的文本編輯器中編輯這些永久文件。這讓我處於困境,因爲我討厭編寫冗餘的代碼。
在這一點上,我非常傾向於第一個選項(即bitset被劃分)。任何有經驗的Java/Android程序員都會告訴我我可以期待它的執行情況如何?我是否必須將bitset擴展爲一組布爾值以獲得可接受的運行時性能?當然,問題在於,即使是基本的基準測試也必須在Dalvik虛擬機上運行,因爲我不能指望x86上的Sun虛擬機具有與ARM上的Android類似的性能。 Android模擬器如何工作?它是x86主機之上的虛擬機還是模擬ARM指令集並運行鍼對ARM的虛擬機?
我希望這個ADD帖子不會讓所有人都感到困惑,因爲它讓我困惑。 :d