我的應用程序在Android服務中使用LocationListener來更新頻繁位置。應用程序具有一些與共享首選項相關的位置過濾器相關數據要求是儘可能頻繁地獲取位置更新。 我從偵聽器的onLocationChanged中的Shared Preference中檢索數據。 這是我的代碼是否重複使用Android Shared Preference存儲會影響性能?
public class MyLocationListener implements LocationListener {
public void onLocationChanged(final Location loc) {
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
int filterOne = sharedPreferences.getInt("filter_data",100);
------
------
//code to process location with filter
------
------
}
}
使用上述代碼sharedPreference在重複的方式被使用。
我已經嘗試在onLocationChanged之外放置過濾器變量,但是當服務重新啓動時,值丟失並設置爲零。
我只想知道是不是好的做法? 我需要使用其他選項嗎?
如果該值丟失,只需將if(sharedPreferences == null)初始化即可。 –