Application.Suspending Event

응용 프로그램이 다른 상태에서 일시 중단된 상태로 전환되면 발생합니다.

구문


public event SuspendingEventHandler Suspending

이벤트 정보

대리자 SuspendingEventHandler

설명

사용자가 다른 앱이나 바탕 화면으로 전환할 때마다 시스템에서 앱이 일시 중단되며, 사용자가 해당 앱으로 다시 전환할 때마다 시스템에서 해당 앱이 다시 시작됩니다. 그러나 리소스를 확보하기 위해 앱이 일시 중단된 동안에 시스템이 앱을 종료할 수도 있습니다. 따라서 다음 작업을 수행하려면 Suspending 이벤트를 처리해야 합니다.

  • 사용자 세션 상태를 유지합니다.
  • 리소스에 대한 단독 잠금을 모두 해제합니다.
  • 가능할 경우 메모리 사용량을 줄입니다. 예를 들어 다시 활성화할 때 개체 형식에서 쉽게 재구성할 수 있는 데이터를 serialize합니다.
  • 앱 상태를 저장합니다.

앱에서 종료가 발생하는 경우 종료 전에 받게 될 표시는 Suspending 이벤트뿐입니다. 이 때문에 활성화 중 동일한 환경을 다시 만들려면 충분한 세션 상태(예: 현재 읽고 있는 문서 또는 현재 동영상 재생 위치)를 저장해야 합니다. 콘텐츠 작성 앱은 사용자의 작업을 미리 자주 저장하고 Suspending 중에 최종 저장 한 번을 커밋해야 합니다. Suspending 이벤트 처리기에서 작업을 완료하는 데 5초 밖에 걸리지 않으므로 일시 중단하기 전에 데이터를 저장하는 것이 유용합니다.

앱이 종료되면 OnLaunched 메서드 재정의에서 앱 상태를 복원할 수 있습니다. 앱이 종료되기 전에 다시 시작될 경우 시스템은 앱 상태를 자동으로 복원합니다. 앱이 일시 중단된 동안 변경되었을 수 있는 표시되는 콘텐츠(예: 뉴스 피드 또는 사용자 위치)를 새로 고쳐야 하는 경우에만 Resuming 이벤트를 처리해야 합니다.

예제

이 코드 예제는 이 이벤트의 일반적인 사용 패턴을 보여 줍니다. 이 코드는 입력 샘플 같은 많은 XAML 샘플에서 app.xaml 파일에 대한 코드 숨김의 일부로 사용됩니다. XAML 샘플을 찾아볼 경우 이 코드에서 참조한 SuspensionManager 클래스 API에 대한 소스 코드를 찾을 수 있습니다.


async protected void OnSuspending(object sender, SuspendingEventArgs args)
{
    SuspendingDeferral deferral = args.SuspendingOperation.GetDeferral();
    await SuspensionManager.SaveAsync();
    deferral.Complete();
}

요구 사항

지원되는 최소 클라이언트

Windows 8

지원되는 최소 서버

Windows Server 2012

Namespace

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadata

Windows.winmd

참고 항목

Application
OnActivated
Resuming
앱 시작 및 다시 시작

 

 

표시:
© 2014 Microsoft