亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SQLite和共享首選項的利弊

SQLite和共享首選項的利弊

寶慕林4294392 2019-07-10 15:57:37
SQLite和共享首選項的利弊在SQLite數據庫和共享首選項之間存儲信息的好機制是什么?為什么使用共享首選項?為什么要用SQLITE?我試圖找出兩者之間的區別,這是更好的數據存儲機制,但我無法在Google上找到合適的答案。請幫助我的例子和解釋。
查看完整描述

3 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

這取決于您想要存儲的數據。

SQLite

應該將大量相同的結構化數據存儲在SQLite數據庫中,因為數據庫是為這類數據設計的。由于數據是由數據庫構造和管理的,因此可以查詢數據子集,該子集使用SQL等查詢語言來匹配某些條件。這使得在數據中搜索成為可能。當然,管理和搜索大量數據會影響性能,因此從數據庫讀取數據比從SharedPreferences讀取數據要慢。

SharedPreferences

SharedPreferences是一個密鑰/值存儲區,您可以在其中將數據保存在特定的鍵下。要從存儲區讀取數據,您必須知道數據的鍵。這使得讀取數據非常容易。但是,盡管存儲少量數據非常容易-存儲和讀取大型結構化數據是很困難的,因為您需要為每個數據定義鍵,而且您不能在數據中進行真正的搜索,除非您有一個命名鍵的概念。


查看完整回答
反對 回復 2019-07-10
?
呼如林

TA貢獻1798條經驗 獲得超3個贊

這個問題有一個公認的答案,但我認為在這個問題上還有更多的話要說-關于速度。

應用程序的SharedPreferences和SqlitDB都只是文件,存儲在設備文件系統上的應用程序目錄中。如果數據量不太大,Sqlitt選項將涉及一個更大、更復雜的文件,為簡單訪問帶來更多的處理開銷。

因此,如果數據的性質并不決定您的選擇(如已接受的答案中所解釋的)和速度,那么您可能最好使用SharedPreferences。

而讀取一些數據通常是在顯示主要活動的關鍵路徑上,所以我認為速度通常是非常重要的。

關于速度和效率的最后一個想法-如果您需要對一些結構化數據使用Sqite數據庫,那么在數據庫中存儲用戶首選項可能更有效,因此您不會打開第二個文件。這是一個相當次要的考慮-只有當您需要訪問結構化數據和首選項之后才能顯示主活動,這可能是值得考慮的。


查看完整回答
反對 回復 2019-07-10
  • 3 回答
  • 0 關注
  • 697 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號