2011-07-18 40 views

回答

1

如果它不是很多數據。 SharedPreferences足夠好。更好的選擇可能是將其作爲JSON存儲在文件中,然後在用戶返回時再次加載它。

0

通常情況下最好使用一個Bundle-最終,隨着應用程序的進程被終止,該bundle會消失,但是在經過這段時間後,根據應用程序的不同,可能存在用戶打開應用程序以啓動新的任務,而不是繼續舊的任務。另外,由於bundle不是持久性內存,讀/寫它們不是IO阻塞任務。

也就是說,如果你要去使用SharedPreferences,一定要讀/寫在一個AsyncTask,因爲它是一個阻塞的IO調用。或者,根據您要存儲的數據量,您可以嘗試寫入 sharedpref和Bundle,然後當您想要恢復活動時,首先檢查捆綁包 - 這會讓您選擇加速應用程序恢復,但仍然有持久存儲可以重新使用。

+1

很確定你不需要在單獨的線程上讀寫共享的prefs,UI線程是OK的(除非你讀/寫的數據很大)。通常你使用其他線程來完成可能需要很長時間的任務。寫入共享偏好通常是一個非常短的執行。 – binnyb

+0

通常,是的,這是一個非常短的執行 - 但我們不知道OP寫入了多少數據(因爲這不是用於存儲實際首選項)。另外,如果這個很短的執行被阻塞,等待不同的IO調用完成,它仍然需要等待很長時間:) –

+0

我會說通常它每次大約有5-7個數據。 – nickfox

相關問題