저는 작업 목록을 쓰고 있고 모든 작업 (및 메타 데이터)을 보유하고있는 Project 개체가 있습니다. 작업 로그를 사용하므로 작업이 변경되면 즉시 데이터베이스에 저장하지 않고 메모리에 보관하여 작업 완료시 데이터베이스에 덤프합니다. 액티비티의 onDestroy 메서드는 이것에 가장 적합한 위치입니다. onRetainNonConfigurationInstance 메서드가 호출되지 않은 경우 프로젝트 저장을 시작합니다 (인스턴스가 Application에 저장 됨). 절약은 비쌉니다 : DB 프로젝트에서 개정판이 있으므로 새 데이터를 저장하고 현재 개정을 변경하며 이전 개정의 데이터를 삭제합니다. 그래서 나는 suddent application stop을 두려워하지 않는다. to documentation을 aсcording데이터를 액티비티의 onDestroy 메서드에 저장하십시오.
하지만, 내가해야 do not count on this method being called as a place for saving data.
내 데이터를 저장하기위한 어떤 다른 곳이 있습니까?
그래서 대체 무엇입니까? .. –
'OnStop()'에 데이터를 저장하십시오. 항상 부름을받을 것입니다. – iagreen
onStop은 onRetainNonConfigurationInstance를 호출하기 때문에 작업이 완료되었는지 또는 방금 오리엔테이션이 변경되었는지는 알 수 없습니다. –