내 응용 프로그램에 5 분마다 호출되도록 예정된 intentService가 있습니다. 그 서비스에서 나는 app (Strings, int ..)의 나머지 부분과 값을 공유하고 있습니다. 나는 이러한 값을 유지하기 위해 Singleton을 사용하고있다. 이것은 대부분의 경우 잘 작동합니다.Android, 백그라운드 서비스 용 싱글 톤 값 유지
그러나 때로는 (적어도 볼 수있는) 이유가 없기 때문에 값이 손실되고 그로 인해 앱이 다운됩니다. 싱글 톤은 그 상태를 잃어 버리는 것 같습니다.
Android에서 불필요하다고 판단되는 정보를 삭제할 수 있다고 읽었습니다. 이러한 이유로 내 활동에서 앱이 유휴 상태가 될 때 값을 번들에 저장했습니다 (onPause 및 onResume).
이제 intentService에서 문제가 달라집니다. 타이머를 사용하여 5 분마다 서비스를 호출합니다.
싱글 톤 값을 유지하는 방법이 필요합니다. 데이터베이스에 저장하지 않을 것입니다 (매 5 분마다이 작업을 수행하는 것은 힘든 작업으로 보입니다). 더 간단한 방법이 있어야합니다.
분명히 밝혀지기를 바랍니다. 통찰력에 감사드립니다.
SharedPreference를 사용하면 정보가 손실되지 않도록 할 수 있습니까? 나중에 SharedPreference를 변경할 수 있습니까? – user1851212
예, 귀하의 정보는 응용 프로그램이 장치 또는 캐시에서 제거되지 않을 때까지 계속 저장됩니다 (혼란 스럽습니다). 그리고 공유 환경 설정 데이터를 수정할 수 있습니다. 키 - 값 쌍을 사용하는지도처럼 작동합니다. 그냥 응용 프로그램 데이터 디렉토리에있는 일부 파일에 저장됩니다. – user370305