2011-09-14 26 views
0

我注意到當我調用sharedpreferences文件時,我必須提供文件字符串名稱的名稱。這是否意味着我可以擁有多個共享首選項文件?其次,如果我想存儲多個值(而不是使用多列SQL數據庫),理論上可以有多個共享首選文件,其中每個元素是一個鍵,值對,並且第一個文件的值是第二個文件的關鍵字,第二個文件返回的值是第三個文件的關鍵字...返回越來越多的特定信息(albiet效率低下)Android有多少個sharedpreferences文件?

是否存在對共享首選項的任何I/O限制,如與SQL數據庫?

回答

4

您共享偏好都存儲在

/data/data/package.name/shared_prefs/prefsname.xml 

的SharedPreferences類只是一個 「XML」 數據解析/作家。

我不認爲有任何具體的限制,但考慮使用SQLlite這是更快(甚至1000倍倍),並提供更方便的選擇/排序是交易的同時友好,sharedpres是有用的只是用於存儲用戶的選擇對於我在其他地方看的其他東西。

順便說一句我不知道SQLITE有什麼限制,如果你超過了最大數據庫端,你總是可以使用「ATTACH」子句在相同的馴服中使用更多的數據庫(如果你有太多的數據來達到SQLite的限制XML/SharedPreferences根本不適合你)

+0

什麼是SQLite的最大DB限制? – CQM

+0

在android.database.sqlite.SQLiteDatabase上檢查getMaximumSize(),也請考慮SD卡是FAT32,所以你可能也會面臨4GB的限制。 – JohnUopini