https://plus.google.com/+이창원99/posts/FvADQXrAkGN
앱들을 사용하다 보면 savedInstanceState 처리를 안하는 앱들이 생각보다 많다. 즉 앱을 사용하다가 그냥 홈 버튼을 눌러서 나간다음 나중에 앱을 다시 실행하면 죽어버린다. savedInstanceState처리를 하지 않기 때문이다.
사실 모든 Activity에 대해서 savedInstanceState를 사용하여 완전한 복구를 하려고 노력할 필요는 없다. 예를들어 메인 Activity 외의 Preference나 기타 다른 페이지들이 MainActivity로 부터 열려 있을 경우가 많은데 이러한 Activity가 Destroy된 경우 사용자는 대부분 해당 액티비티가 꼭 복구되기보다 죽지않고 메인 액티비티 정도만 복구해 줘도 아무문제가 없는 경우가 많다. 이런경우 메인에서 불려진 모든 Activity의 onCreate에 다음 문장을 넣어주면 메인으로 깔끔하게 돌아가서 열리게 된다.
if (savedInstanceState != null) {
finish();
return;
}
업데이트: android:configChanges="orientation|screenSize" 처리를 안하면 이 코드에 의해서 화면회전시도 닫히게 됩니다.
사실 모든 Activity에 대해서 savedInstanceState를 사용하여 완전한 복구를 하려고 노력할 필요는 없다. 예를들어 메인 Activity 외의 Preference나 기타 다른 페이지들이 MainActivity로 부터 열려 있을 경우가 많은데 이러한 Activity가 Destroy된 경우 사용자는 대부분 해당 액티비티가 꼭 복구되기보다 죽지않고 메인 액티비티 정도만 복구해 줘도 아무문제가 없는 경우가 많다. 이런경우 메인에서 불려진 모든 Activity의 onCreate에 다음 문장을 넣어주면 메인으로 깔끔하게 돌아가서 열리게 된다.
if (savedInstanceState != null) {
finish();
return;
}
업데이트: android:configChanges="orientation|screenSize" 처리를 안하면 이 코드에 의해서 화면회전시도 닫히게 됩니다.
'work > programming > android' 카테고리의 다른 글
[github] Cleveroad/slidingtutorial-android (0) | 2016.02.15 |
---|---|
[ Design Material Design ] Basic (0) | 2016.01.11 |
App Bar 설정 (Android Version: 5.0, API Level : 21 이상) (0) | 2016.01.06 |
Book, 안드로이드 데이터베이스 프로그래밍, 001 (0) | 2015.10.07 |
디바이스에서 모든 국가 이름 가져오기 (0) | 2015.05.11 |