본문 바로가기
개발/Android

[Android] 화면 회전 시 onDestroy 안되도록

by 1인용 놀이터 2025. 3. 6.
728x90
반응형

Android 화면회전 시 onDestroy

 

안드로이드 App 내에서 화면 회전을 하게 되면 액티비티가 onDestroy() -> onCreate()로 액티비티 데이터가 초기화 됨.

모든 데이터 초기화로 불편함.

 

onDestroy를 방지하기 위한 해결방법

Manifest 파일에 configChanges 속성을 추가한다.

 

configChanges 속성

configChanges의 속성 중에서 화면 회전에 관련된 속성은 orientation과 screenSize가 있다.

orientation 화면 방향이 변경되었습니다. 사용자가 기기를 회전했습니다.참고: 애플리케이션이 Android 3.2(API 레벨 13) 이상을 대상으로 하는 경우 기기가 가로 방향과 세로 방향도 전환하므로 "screenSize" 구성도 선언해야 합니다.
screenSize 사용 가능한 현재 화면 크기가 변경되었습니다.이는 현재 가로세로 비율에 비례하는 현재 사용 가능한 크기의 변경을 나타내므로 사용자가 가로 모드와 세로 모드 사이를 전환할 때 변경됩니다. API 레벨 13에서 추가되었습니다.


Android 3.2 이상 부터는 orientaion 뿐 아니라 screenSize 속성도 같이 추가해야 화면 회전 시 함수가 호출된다고 하니 두 속성을 모두 넣어줘야 한다.

android:configChanges="orientation|screenSize"

 

 

onConfigurationChanged 호출

@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
        Log.d("test", "11111");
    }
    else{
        Log.d("test", "222");
    }
}
728x90
반응형

'개발 > Android' 카테고리의 다른 글

[Android] ViewBinding 정리  (1) 2025.03.13
[Android] LayoutInflater 정리  (6) 2025.03.10
[Android] View LifeCycle 정리  (0) 2025.03.04
[Android] Service LifeCycle 쉽게!  (0) 2025.03.04
[Android] Fragment LifeCycle 쉽게 정리  (0) 2025.03.02