구성은 기기 상태와 시스템 상태의 조합입니다. 기기 상태에는 화면 방향, 디스플레이 크기, 폴더블 기기의 접힌 상태 또는 펼쳐진 상태, 외부 키보드 가용성, 연결된 디스플레이가 포함됩니다. 시스템 상태에는 멀티 윈도우 및 멀티 디스플레이와 같은 디스플레이 모드와 글꼴 크기 및 언어와 같은 사용자 정의 설정이 포함됩니다.
구성 변경이란 기기 또는 시스템 상태 변경(예: 회전된 기기, 크기가 조절된 앱 창, 펼쳐진 기기, 연결된 주변기기 또는 업데이트된 사용자 설정)입니다.
대형 화면 기기는 소형 화면 휴대전화와 동일한 구성 변경을 모두 거치지만 대형 화면에는 다음과 같은 고유한 구성 변경도 있습니다.
기기 접기 및 펼치기
멀티 윈도우 모드에서 자유 형식 데스크톱 유형 창 크기 조절
활동 재생성
Android는 구성 변경이 발생할 때 실행 중인 활동을 소멸하고 다시 만들어 앱의 구성 변경을 처리합니다. Android는 새 구성을 수용하는 설정과 리소스로 활동을 다시 만듭니다.
다양한 화면 및 앱 창 크기와 가로세로 비율을 지원하는 반응형/적응형 레이아웃으로 앱을 디자인하면 Android 프레임워크의 구성 처리를 통해 대형 및 소형 화면에서 앱이 최적으로 표시됩니다.
DIY 구성 관리
앱별 최적화와 같은 특수한 경우에는 Android가 앱의 활동을 소멸하고 다시 만들도록 하는 대신 앱이 구성 변경을 처리하도록 하세요.
Android가 구성 변경을 대신 처리하든 개발자가 직접 처리하든 앱은 컨텍스트와 상태를 유지해야 합니다. 구성 변경 후 사용자는 연속성의 중단 없이 그리고 데이터 손실 없이 앱과의 상호작용을 재개할 수 있어야 합니다(예: 미디어 재생 또는 데이터 입력 중에 각각 구성 변경이 발생하는 경우).
다음 단계
구성 변경을 처리하고 앱 연속성을 유지하는 방법에 관한 자세한 내용은 다음 개발자 가이드를 참고하세요.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Configuration and continuity\n\nTIER 3 --- Large screen ready\n| **Objective:** Make your app [large screen ready](/docs/quality-guidelines/large-screen-app-quality#large_screen_ready) by meeting the [LS-C1](/docs/quality-guidelines/large-screen-app-quality#LS-C1) and [LS-C2](/docs/quality-guidelines/large-screen-app-quality#LS-C2) configuration and continuity requirements of the [Large screen app\n| quality](/docs/quality-guidelines/large-screen-app-quality) guidelines.\n\nConfiguration is a combination of device state and system state. Device state\nincludes screen orientation, display size, folded or unfolded state of a\nfoldable device, external keyboard availability, attached displays. System state\nincludes display modes, such as multi-window and multi-display, and user-defined\nsettings, such as font size and locale.\n\nConfiguration changes are device or system state changes---a rotated device,\nresized app window, unfolded device, connected peripheral, or updated user\nsetting.\n\nLarge screen devices undergo all the same configuration changes as small screen\nphones, but large screens also have unique configuration changes such as:\n\n- Device folding and unfolding\n- Resizing of free-form, desktop-type windows in multi-window mode\n\nActivity recreation\n-------------------\n\nAndroid handles configuration changes for apps by destroying and recreating the\nactivity that's running when the configuration change occurs. Android recreates\nthe activity with settings and resources that accommodate the new configuration.\n\nDesign your app with responsive/adaptive layouts that support a wide variety of\nscreen and app window sizes and aspect ratios, and the Android framework's\nconfiguration handling will provide the optimal presentation of your app on\nlarge *and* small screens.\n\nDo-it-yourself configuration management\n---------------------------------------\n\nFor special cases, such as app-specific optimizations, enable your app to handle\nconfiguration changes rather than letting Android destroy and recreate your\napp's activities.\n\nSpecify the configuration changes your app handles by setting the\n[`android:configChanges`](/guide/topics/manifest/activity-element#config) attribute of the [`\u003cactivity\u003e`](/guide/topics/manifest/activity-element) element in your\napp manifest.\n\nFor example, enable your app to handle multi-window configuration changes: \n\n \u003cactivity\n android:name=\".MyActivity\"\n android:configChanges=\"orientation|screenSize|smallestScreenSize|screenLayout\" /\u003e\n\n| **Note:** Android handles any configuration changes you don't specify in `configChanges`; that is, the system destroys and recreates your app's activities.\n\nState management\n----------------\n\nWhether Android handles a configuration change for you or you do it yourself,\nyour app must maintain context and state. After a configuration change, users\nshould be able to resume interaction with your app without a disruption in\ncontinuity and without losing data, for example, when a configuration change\nhappens during media playback or data entry, respectively.\n\nNext steps\n----------\n\nFor more information about how to handle configuration changes and maintain app\ncontinuity, see the following developer guides:\n\n- [Handle configuration changes](/guide/topics/resources/runtime-changes)\n- [Save UI states](/topic/libraries/architecture/saving-states)"]]