UWP 应用生命周期

UWP uwpbox 1179℃ 0评论

首先上张微软的图,原汁原味更好看明白。适用于红石版本

state diagram showing transitions between app execution states

大概画了下个人理解的app生命周期,资料少,验证少,不保证完全正确。

 

应用进入没运行状态的几种方式:

1.应用终止:当系统资源不够时,并且你的应用处于暂停状态,系统会从内存移除该应用,并且应用不会收到任何通知,所以在进入暂停状态或者进入后台运行时候要记得保存用户状态,系统终止程序时候,图标会依然在任务栏上,所以当用户图标时需要恢复状态(相当蛋疼)

2.应用关闭:用户通过ALT+F4或者任务列表关闭应用,跟系统关闭一样,应用不会收到任何通知,保存状态只能跟系统终止时候一样,恢复时在启动状态可进行区分恢复。

3.应用崩溃:由于错误获异常等原因系统崩溃了,启动时会提示应用前一个状态为没有运行,你不要试图像上面那样恢复到关闭前的状态,因为数据可能已经发生错误。

应用启动:启动(点击磁贴,应用列表等方式)的时候会在OnLaunched 函数中传递个参数说明该应用前一个状态是什么,如:没运行(刚刚安装,系统刚刚启动),被用户关闭,被系统终止,正在运行,暂停状态。当系统资源足够的时候系统会为了提高响应速度预启动一些使用率高的应用。

应用激活:与启动类似,应用可以通过启动协议由其他应用激活。系统定义了一些常用的激活方式:

OnCachedFileUpdaterActivated
OnFileActivated
OnFileOpenPickerActivated
OnFileSavePickerActivated
OnSearchActivated
OnShareTargetActivated

运行在后台:在Win10 周年更新1607(红石)中可以在单个处理器中后台运行代码。带来了两个新的事件:EnteredBackground LeavingBackground.这两个事件也能确定界面是否可见。一个应用程序启动、激活或恢复的时候会先进入后台运行状态。在这个状态下,您的应用程序界面是不可见的。

运行在前台:在红石以前,加载资源最好的地方时Activated 或者Resuming 的时候,现在变成了LeavingBackground 。

参考:1.Windows 10 universal Windows platform (UWP) app lifecycle

转载请注明:UWPBOX » UWP 应用生命周期

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址