2012-02-22 44 views
0

我工作的一個Android應用程序,在這裏我有幾個數據對象(1000多個)..截至目前我把它們放在hashTable中和存儲哈希表在文件 ..我真的不滿意我做了什麼,因爲它可能會增加大小(?)和應用程序可以啓動冷凍(當有太多的數據對象ATLEAST ..)我存儲數據的方式可能存在問題..?

我的問題是,這是存儲數據的好方法並有任何機會,我的應用程序會崩潰或減速...

謝謝..

回答

1

首先,您需要確定需要將哪些數據保存在內存中(應用程序需要快速訪問的數據)以及需要存儲哪些數據以便在需要時進行檢索。

通常情況下,我會想到應用程序將其所有數據存儲在數據庫中,並且您只會在內存中加載最有可能使用的數據(可能是)。 最有可能的取決於您的應用程序,您可能想要加載不會使用的數據(消耗更多內存但性能更好),否則您可能會走相反的方向。

存儲在文件中的數據不在Java堆中,變量和對象存在於堆中,文件不存在。

你應該考慮使用SQLite而不是文件。

+0

我知道文件不在堆..但我將散列表存儲在一個文件中,其中包含所有這些對象... – ngesh 2012-02-22 10:35:57

+1

SQLite很好地映射到文件。它只是隱藏瞭如何從你身上發生的細節(一件好事!) – 2012-02-22 10:47:17