1. 程式人生 > >Android在application中使用SharedPreference注意事項

Android在application中使用SharedPreference注意事項

1.在Android的application中使用sharedPerference儲存本地化資料時,會getSharedPreferences(“login”,MODE_PRIVATE);此時使用是會報錯的。因為你在application沒有上下文。

這時候你肯定在getSharedPreferences的前面加上getApplicationContext(),獲取上下文。


此時你要注意了,這邊的getApplicationContext()獲取的context和Activity中的context是有區別的。首先,getApplicationContext()獲取的是整個應用的context,而Activity中的context是當前的context,它會隨著Activity的生命週期變化而變化的。所以getApplicationContext()獲取的context的生命週期比Activity的context生命週期長。

此時會出現,你在Application中使用getApplicationContext()做的本地儲存,在Activity獲取該本地儲存資料,是獲取不到的。

那麼怎樣解決呢?


其實很簡單,那就是在Activity取資料時,使用Application的context去getSharedPreferences即可。