0

WP 앱을 비활성화하면 나중에 삭제 표시하고 나중에 OS에서 종료 할 수 있습니다. 프로세스가 종료 될 때 저장되지 않은 일부 앱 데이터를 영구 저장소에 저장해야하지만 그 전에는 저장하지 않아야합니다. 분명히 Deactivated 이벤트는 앱이 백그라운드로 이동할 때 즉시 발생하기 때문에이 용도로 사용할 수 없습니다. Close 이벤트는 앱 프로세스가 OS에 의해 종료 될 때 발생하지 않는 이벤트이기도합니다. Application_Terminated와 같은 특별한 Windows Phone 앱 이벤트가 있습니까?응용 프로그램 프로세스 종료시 반응하는 WinPhone 앱 이벤트

+0

앱이 중요한 데이터를 증분 방식으로 저장하는 것이 좋습니다. 또 다른 위험한 방법은'PhoneApplicationService'의'State'를 이용하는 것입니다 : [MSDN] (http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff817009%28v=vs.105%29.aspx) –

답변

1

문제는 운영 체제가 심각한 리소스 압박에 처해있을 때만 응용 프로그램을 삭제한다는 것입니다. 당시에는 앱을 깨우고 앱 코드를 실행하는 것이 현실적이지 않습니다. 현재 포 그라운드에있는 것이 무엇이든 위험 할 수 있기 때문입니다. 이 제한은 모든 최신 모바일 운영 체제 (Android, IOS 포함)에 있습니다. 이것은 배터리/자원 친화적 인 환경에서 작동하는 데 드는 비용입니다.

그렇다고해서 사용자가 "저장 한"데이터와 사용자가 트랜잭션을 완료 할 수있을 때까지 캐시 된 데이터 사이에서 보완 저장소가 모호하지 않게되는 것처럼 들립니다. 아이디어를 구축하는 것이 유용 할 것입니다. 인터넷에서 더 똑똑한 웹 사이트가 작동하는 방식으로 생각하십시오. 데이터를 입력하는 도중에 이동할 수 있으며, 사이트를 다시 방문하면 부분적으로 채워진 양식이 제공됩니다. 이 사이트는 귀하가 "완료"되지 않았 음을 이해하지만 귀하가 "완료"해야 할 정보 중 일부를 제공했다는 사실을 존중합니다.

여기서 내가 말하는 것은 사용자가 앱을 사용하는 방식을 이해하고 수용함으로써 문제를 쉽게 해결할 수 있다는 것입니다. 웹 사이트와 같은 앱을 생각하면 (최소한이 맥락에서) 사물을 원근감있게 파악하는 데 도움이됩니다. 길게 대답하는 것에 대해 유감스럽게 생각합니다. 도움이되기를 바랍니다 :)

0

그런 이벤트가 없습니다. 비활성화 된 상태를 저장해야 응용 프로그램이 메모리에서 제거 된 경우 (다시 표시됨) 다시 활성화 할 때 다시 설정할 수 있습니다. 문제가 Activated에서 상태를 복원해야하는지 여부를 알아내는 경우 ActivatedEventArgs.IsApplicationInstancePreserved 플래그 (http://msdn.microsoft.com/en-us/library/windowsphone/develop/microsoft.phone.shell.activatedeventargs.isapplicationinstancepreserved(v=vs.105).aspx)를 확인하십시오. 이 플래그는 앱이 삭제 표시되었는지 여부를 알려줍니다. 그렇지 않은 경우 다음 번에 비활성화 할 때 이전 상태를 버리거나 덮어 쓸 수 있습니다.

+0

지금 당장 IsApplicationInstancePreserved를 사용합니다. 이 경우 사용자가 입력 한 현재 저장되지 않은 데이터를 Deactivated 이벤트에 저장하지 않기를 원합니다.이 경우 앱이 비활성화 될 때 필요한 확인/취소 기능이 손실됩니다. – TecMan