2012-11-28 33 views
3

我正在使用SQLite在Android上開發應用程序。我對SQLite相當陌生,所以我想問一個設計選擇。Android上的SQLite性能選擇

如果您想從一個活動向另一個活動傳遞一個對象(表示DB中的一行),下面哪一個更快和/或資源高效?

  • 序列化對象爲JSON,意圖發送和反序列化的另一端
  • 僅發送記錄ID,並在其他活動

無論哪種情況下再次拉從數據庫記錄,是什麼這兩個選擇之間的性能差異是什麼?

+0

您還可以維護一個對象管理器,用於管理表格標記與對象的映射。 – AedonEtLIRA

回答

1

它確實取決於你的行的大小。如果它相對較小(少數基元),傳遞序列化數據並不是什麼大問題,儘管您可能想要使用比JSON輕一些的東西。如果你有大量的數據(blob等),那麼從磁盤讀取行與串行化和反序列化之間的性能差距可能甚至更小。理想情況下,您只需獲取一次數據並將其存儲在單例中,以便通過不同的活動訪問(可能是POJO)。

+0

靜態變量:非常好的建議,這也解決了我的問題遠遠超出了這個問題。非常感謝......有一個問題:什麼比JSON更輕? JSON幾乎是我能想到的最輕量級的序列化數據。 –

+0

你說得對,JSON與傳輸一樣輕巧,呈現速度很快,但解析器非常重要。 Bencode更輕。我用過的最輕的連接點是; 值,這些值小於10行代碼+樣板。 – 323go