2017-08-25 34 views
0

我使用sharedpreferences保存了一些數據,如用戶標識(用於提出更高的請求),接下來我有一個使用此標識的3個片段的活動。我應該在每個片段中獲取數據(id)獲取sharedpreference嗎?或者我應該在主要活動中獲得SharedPreferences並使用捆綁包傳遞id?來自主要活動的每個片段或包中的Android sharedpreferences?

我的問題:哪個選項速度更快,消耗的資源更少?爲什麼?在先進的感謝..

+0

顯然比從磁盤讀取的內存(ram)更快地讀取。 SharedPreferences使用xml –

+0

@an_droid_dev對不起,我的英文不好,當你指的是內存RAM你參考使用捆綁?你推薦哪個選項?你能更清楚嗎? – matQ

+0

是的,我的意思是捆綁。 Bundle不存儲到磁盤,而是存儲到內存(RAM)中。 –

回答

0

爲SharedPreferences創建一個單類class

0

傳遞它作爲一個額外的問題是,它可能無法恢復在片段重新創建。您可能需要通過在碎片破壞自身以重新實例化或任何其他不可預見的事件之前保存該值來進行預警。

考慮到這一點,從SharedPreferences獲得ID是個好主意。讀操作不像寫操作那麼昂貴(這就是爲什麼有異步apply()方法)。

+0

所以,你推薦我在每個片段中調用getSharedPreferences?獲得ID? – matQ

+0

@matQ是的。請參閱我的第一段推理。 –