앱 일시 중단 및 다시 시작에 대한 지침

Applies to Windows and Windows Phone

사용자가 다른 곳으로 전환하면 일시 중단하고 다시 돌아오면 다시 시작하도록 앱을 디자인하세요. 앱이 일시 중단 및 다시 시작될 때 사용자에게 최적의 환경을 제공할 수 있도록 앱의 목적과 사용 패턴을 신중히 고려하세요. Windows 런타임 앱 동작의 일시 중단 및 다시 시작을 디자인할 때 다음 지침을 따릅니다.

Windows 런타임 앱의 수명 주기에 대한 요약은 앱 수명 수기를 참조하세요.

참고  Windows 8.1 및 Windows Phone 8.1에서 시스템 응답을 향상시키기 위해 일시 중단 시 앱에 리소스에 대한 낮은 우선 순위 액세스 권한이 부여됩니다. 이 새 우선 순위를 지원하기 위해 일시 중단 작업 제한 시간이 확장되어 앱에 Windows의 일반 우선 순위에 대한 5초 제한 시간과 Windows Phone의 1-10초 제한 시간에 해당하는 제한 시간이 부여됩니다. 이 제한 시간은 확장하거나 변경할 수 없습니다.

권장 사항 및 금지 사항

  • 짧은 시간 후 다시 시작되면 사용자가 중단한 상태로 앱이 돌아갑니다. 예를 들어 메일 작업을 완료하기 전에 사용자가 다른 앱으로 이동하면 사용자는 메일 앱의 기본 방문 페이지가 아니라 완료되지 않은 메일이 있는 페이지로 돌아갑니다.
  • 오랜 시간 후 다시 시작되면 사용자는 앱의 기본 방문 페이지로 돌아갑니다. 예를 들어 매우 오래된 기사로 돌아가거나 오래된 날씨 데이터를 표시하지 않고 뉴스 또는 날씨 앱의 기본 방문 페이지로 돌아갑니다.
  • 적절한 경우 사용자가 앱을 이전 상태로 복원할지 새로 시작할지를 선택할 수 있습니다. 예를 들어 사용자가 게임 앱으로 다시 전환하는 경우 사용자가 게임을 다시 시작할지 새 게임을 시작할지를 결정할 수 있도록 메시지를 표시할 수 있습니다.
  • 앱을 일시 중단되면 앱 데이터를 저장합니다. 일시 중단된 앱은 시스템에서 앱이 종료될 때 알림을 받지 못하므로 앱 상태를 복원하려면 앱 데이터를 명시적으로 저장해야 합니다.

    앱이 보조 타일, 알림 메시지, 파일/URI 연결과 같은 여러 시작 지점을 지원하는 경우 각 시작 지점에 대한 개별 탐색 기록을 만들어야 합니다. 일시 중단될 때 기본 시작 지점과 연결된 상태를 저장하고 사용자가 상태를 놓쳐서 당황하게 되는 시나리오에서는 보조 시작 지점에 대한 상태만 저장합니다. 너무 많은 상태를 저장하면 앱 재시작이 느려질 수 있습니다.

  • 저장된 앱 데이터를 사용하여 앱을 복원합니다.
  • 앱을 일시 중단할 때 단독 리소스와 파일 핸들을 해제합니다. 앞에서 설명한 대로 일시 중단된 앱은 종료될 때 알림을 받지 못하므로 앱이 일시 중단될 때 다른 앱에서 액세스할 수 있도록 하려면 리소스 및 핸들(예: 웹캡, I/O 장치, 외부 장치 및 네트워크 리소스)을 해제해야 합니다.
  • 콘텐츠가 마지막으로 사용자에게 표시된 후 변경되었으면 UI를 업데이트합니다. 다시 시작된 앱은 사용자가 멀리 있는 동안에도 실행된 것처럼 보입니다.
  • 화면을 벗어날 때 앱을 종료하지 마세요. 운영 체제는 사용자가 앱에 액세스하고 이를 관리할 수 있는 일관된 방법을 보장합니다. 화면을 벗어나면 앱이 일시 중단됩니다. 응용 프로그램 수명 주기를 시스템에 위임하면 사용자는 최대한 효율적으로 앱으로 돌아갈 수 있습니다. 이 경우 최적의 시스템 성능 및 장치 배터리 수명도 제공됩니다.
  • 사용자가 명시적으로 종료한 앱의 상태를 복원하지 마세요. 앱이 복구할 수 없는 상태가 되어 사용자가 닫았을 수 있습니다. 사용자가 앱을 명시적으로 닫은 경우 다시 시작 환경이 아닌 새로운 환경을 제공합니다. 사용자가 앱을 닫으면 PreviousExecutionState 속성 값은 ClosedByUser가 됩니다.
  • 크래시로 인해 종료된 앱의 상태를 복원하지 마세요. 앱이 예기치 않게 종료된 경우 저장된 앱 데이터가 손상되었을 수 있습니다. 앱이 이 저장된 데이터를 사용하여 이전 상태로 복원하려고 하면 안 됩니다.
  • UI에 닫기 단추를 포함하거나 앱을 종료하는 다른 방법을 사용자에게 제공하지 마세요. 사용자는 시스템에서 앱을 관리하고 있다는 안도감을 느낄 수 있어야 합니다. 시스템은 앱을 자동으로 종료하여 최상의 시스템 성능 및 안정성을 보장하고 사용자는 Windows의 제스처를 사용하거나 Windows Phone의 작업 전환기를 통해 앱을 닫도록 선택할 수 있습니다.
  • 딥 링크된 페이지에서 사용자가 당황하게 만들지 마세요. 사용자가 기본 타일이 아닌 시작 지점 즉, 딥 링크된 페이지의 방문 페이지에서 앱을 실행하면 사용자가 앱의 상위 페이지로 이동할 수 있는 UI를 제공하세요. 또는 기본 타일을 탭하여 상위 페이지로 이동할 수 있도록 하세요.

관련 항목

개발자용(HTML)
ApplicationExecutionState
Windows.ApplicationModel
Windows.ApplicationModel.Activation
Windows.UI.WebUI
WinJS.Application
앱 수명 주기 개요
앱 일시 중단 방법(JavaScript)
앱 다시 시작 방법(JavaScript)
개발자용(XAML)
ApplicationExecutionState
Windows.ApplicationModel
Windows.ApplicationModel.Activation
Windows.ApplicationModel.Core
Windows.UI.Xaml.Application
앱 수명 주기 개요
앱 일시 중단 방법(C#/VB/C++)
앱 다시 시작 방법(C#/VB/C++)
샘플
WRL을 사용하는 앱 활성화, 다시 시작 및 일시 중단 샘플
WinJS를 사용하여 앱 활성화 및 일시 중단 샘플
C# 및 VB 시작: Hello World 샘플(2부)

 

 

표시:
© 2014 Microsoft