작업환경 Windows 10 Pro Visual Studio 2017 |
관련 내용 링크는...
https://docs.microsoft.com/ko-kr/windows/uwp/launch-resume/app-lifecycle
예전 윈도우 앱을 개발할 때에는 앱의 LifeCycle에 대해 크게 중요하지 않게 생각하고 개발 했었다.
물론 그 때는 개발을 처음 공부 했을때라 그냥 무작정 개발했고 (물론 지금도 잘 모르지만...) 신경쓰지 않아도 크게 문제 없이 진행하는데 무리가 없었다.
하지만 모바일 환경에서는 LifeCycle을 생각하면서 개발 할 일이 제법 있었다.
그래서 이번에는 UWP의 LifeCycle이 어떻게 동작하는지 정리한다.
1. 앱 실행 상태
ApplicatoinExecutionState |
설명 |
수행할 작업 |
NotRunning |
마지막으로 사용자가 다시 부팅하거나 로그인 한 후 앱을 실행하지 않은 경우 이 상태일 수 있다. 실행 중었지만 충돌이 발생했거나 사용자가 이전에 앱을 닫은 경우에도 이 상태가 될 수 있다. |
현재 사용자가 처음 사용하는 것처럼 앱을 초기화 한다. |
Suspended |
사용자가 앱을 최소화 하거나 전환 했으며 몇 초 내 돌아오지 않았다. |
앱이 일시 중단 된 경우 해당 상태가 메모리에 남아 있습니다. 앱이 일시 중단되었을 때 릴리즈된 파일 핸들이나 기타 리소스를 다시 획득하면 된다. |
Terminated |
앱이 이전에 일시 중지되었지만 시스템이 메모리를 확보하기 위해 일정 시점에 종료되었다. |
사용자가 전환 했을 때의 앱 상태를 복원한다. |
ClosedByUser |
사용자가 태블릿 모드에서 닫기 재스처를 사용하거나 Alt + F4 를 사용하여 앱을 닫음. 사용자가 앱을 닫으면 먼저 일시 중단된 다음 종료된다. |
기본적으로 앱이 Terminated 상태로 진행하는 동일한 단계를 거쳤기 떄문에 Terminated 상태와 동일한 방식으로 처리한다. |
Running |
사용자가 앱을 다시 실행할려고 할 때 앱이 이미 실행 중이다. |
없음. 다른 앱의 인스턴스가 실행되지 않았다. 이미 실행중인 인스턴스가 활성화 된 것 뿐이다. |
각 해당 상태를 보고 싶어서 OnLaunched() 함수에 아래와 같이 상태를 받아와서 디버그 메시지를 출려하게 했는데...
확인 가능한 메시지는 NotRunning, Running, Terminated 였다...
다음에는 각각의 상태를 확인하기 위한 방법을 확인해봐야겟다...
'Programming > Windows&C#' 카테고리의 다른 글
[Windows/UWP] UWP 페이지 이동, 백버튼 (2) | 2017.06.10 |
---|---|
[Windows/C#/UWP] C# partial (0) | 2017.06.04 |
[Windows/UWP] UWP First App 'Hello World' (0) | 2017.05.11 |
[WIndows/UWP] Windows 시뮬레이터 종료 방법 (0) | 2017.05.11 |
[Windows/UWP] Windows UWP APP 개발 준비 (0) | 2017.05.07 |