*SharedPreference edit apply()와 commit()
editor.apply()는 SharedPreferences에 데이터를 비동기적으로 저장하는 메서드입니다. 비동기적으로 저장되기 때문에, 데이터 저장 작업이 수행 중일 때 앱이 멈추지 않고 계속 실행됩니다. 이렇게 하면 앱이 더 빠르게 실행될 수 있습니다.
editor.commit()은 데이터를 동기적으로 저장하는 메서드입니다. 데이터 저장 작업이 완료될 때까지 앱이 멈추게 됩니다. 이는 작업이 끝날 때까지 대기해야 하는 경우에는 사용할 수 있습니다.
그러나 일반적으로 editor.apply()를 사용하는 것이 좋습니다. 이는 데이터 저장 작업이 비동기적으로 수행되기 때문에, 앱이 끊김 없이 더 부드럽게 실행될 수 있기 때문입니다. 또한, editor.apply()는 editor.commit()보다 더 빠르게 작동하기 때문에, 데이터가 많은 경우에도 효율적입니다.
-코드 예시
//입력값 저장소 저장
SharedPreferences prefs;
prefs = getContext().getSharedPreferences(key, Context.MODE_PRIVATE);
prefs.edit().putString(key, value).commit();
//저장소에 저장(두 가지 값 저장할 때)
SharedPreferences.Editor editor = getContext().getSharedPreferences("appRebootTime", Context.MODE_PRIVATE).edit();
editor.putInt("hour", hour);
editor.putInt("minute", minute);
editor.apply();
'+)기록 > 과제' 카테고리의 다른 글
정리사항 65 - PendingIntent 개념 (0) | 2023.05.16 |
---|---|
정리사항 64 - AlarmManager, BroadcastReceiver class(설정한 시간마다 앱 자동 재실행 구현) (0) | 2023.05.15 |
정리사항 62 - 레이아웃 인스펙터(UI 디버깅) (0) | 2023.05.11 |
정리사항 61 - PreferenceFragmentCompat을 상속한 클래스(설정화면) 에서 설정 값 변경 시 발생할 이벤트 처리 (0) | 2023.05.10 |
정리사항 60 - 출입문 Relay방식(스위치, NO, NC) (0) | 2023.05.10 |