화면 전환시 onDestroy() => onCreate() 되면서 데이타가 초기화 되며 해당 데이타를 다시 복원하기 위해서는 아래와 같이 onRetainNonConfigurationInstance() override를 이용해서 구현할수 있다.
String strBackupData ="백업할 문자열"; boolean booleanBackupData =true; @Override public Object onRetainNonConfigurationInstance() { HashMap<String,Object> hMap = new HashMap<String,Object>(); // 어떤 객체 건 상관없이 저장 hMap .put( "strBackupData", strBackupData ); hMap .put( "booleanBackupData", booleanBackupData ); . return hMap ; }이후 화면전화시 저장해둔 객체를 onCreate() 시점에서 얻어올수 있다.
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Object backUpObj = getLastNonConfigurationInstance(); if ( backUpObj !=null){ HashMap<String,Object> hMap = (HashMap<String,Object>) backUpObj ; this.strBackupData = ( String ) hMap.get("strBackupData"); this.booleanBackupData = ( Boolean ) hMap.get("booleanBackupData"); } }