개발이야기
안드로이드 가로 전환 시 onCreate 호출 방지
알렉
2018. 12. 12. 23:47
안드로이드 앱을 개발하고 가로 모드로 전환을 해봤을 때 어떤 현상이 나는지 사실 모르다가.
이번에 음악을 들려주는 앱을 개발하고 나서 음악을 듣다가 가로로 전환했을 때 음악이 두번 들리길래 왜 그런가보니 onCreate가 두 번 호출하는 것이다.
왜 호출이 될까를 고민하다가 찾아보니
가로 모드로 전환된 후 화면 다시 생성을 하는 과정을 거친다. 이때 구지 이렇게까지 안해도 되는 상황들도 있기에 그런 경우 옵션은 아래와 같다.
manifest.xml 파일 내에서 전환 시 아무런 동작도 원하지 않는 Activity의 경우 아래와 같이 configChanges 옵션을 추가해주면 된다.
<activity
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"