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 |