2017-04-20 11 views
0

사용자가 변경하는 것과 같은 느낌이들 때 활동의 테마를 변경해야합니다. 이를 위해 테마를 설정 한 후 테마를 활성화하기 위해 다시 생성()을 호출해야합니다. 그러나 내 활동은 웹에서 데이터를 가져 와서 사용자에게 Recycler보기로 표시합니다. 테마가 변경 될 때마다 데이터가 새로 고침되고 있으므로이를 방지해야합니다.재생성 작업 호출시 데이터 손실을 방지하는 방법

데이터베이스에 저장하는 것 외에도 recreate()를 호출 할 때 데이터를 저장할 수있는 방법이 있습니까?

나는 onSaveInstanceState()를 재정의하려고 시도했다. 재 작성을 호출하면 onCreate()의 savedInstanceState가 'null'인 것으로 보입니다.

+0

싱글 톤 캐시와 같이 활동 외부에서 일시적으로 데이터를 보유합니다. 메모리 누수가 발생하지 않도록주의하십시오. – CommonsWare

답변

1

당신은 SQLite 데이터베이스 나 된 SharedPreferences로 파일에 데이터를 저장해야

수명주기 활동의 여러 번 변경하고 당신이 막을 수 없습니다, 데이터가 이벤트에 저장하고 검색해야 ONSTART 또는 같은 OnResume 액티비티를 사용하지 않을 안드로이드 OS가 더 많은 메모리를 필요로 할 때 당신의 데이터, 정적 변수는 힙에 저장되고 삭제됩니다 저장하는 정적-변수 같은 것을 사용하지 않는 다른 제안으로