美文网首页黑莓native开发
2 黑莓native应用的生命周期

2 黑莓native应用的生命周期

作者: 客场王子Kin | 来源:发表于2017-01-26 16:42 被阅读17次

2 App 生命周期

app生命周期分为3个基本阶段:开始、运行、结束。黑莓10 native SDK 是一个多线程多任务的平台,因此可以在同一时间运行多个App;大部分app都会有相似的生命周期并且包含3中可能的状态:全屏(fullscreen)、最小化(thumbnail)、隐藏(invisible)。依赖app权限控制,这些状态能在app运行或者停止时够做不同的事。

2.1 全屏(fullscreen)

在全屏状态下,app运行在最前面并且能占用所有资源以至于需要很多内存和处理时间。

在 Cascades 的app,当app进入此状态,fullscreen()信号就会被发出。

在 C App,NAVIGATOR_WINDOW_FUUSCREEN 时间会被发送到app,通知app改变窗口状态。

2.2 最小化(Thumbnail)

在最小化状态,app以活动形式运行在后台。默认状态下,这张封面图片是保存app最小化时的样子,然而,我们建议你使用自己定制的图片。

当app在此状态下,会停止任何外部处理和只会更新封面。app会停止后台不需要用到的所有线程如网络,和数据。

在 Cascades 的app,当app进入此状态,thumbnail()信号就会被发出。

在 C App,NAVIGATOR_WINDOW_THUMBANIL 时间会被发送到app,通知app改变窗口状态 并且 会替代为 NAVIGATOR_APP_BACKGROUND 

有些情况,你需要在后台状态下运行后台任务如播放音乐流,可参看 Running in the backgroud 

2.3 隐藏(Invisible)

在此状态,app的封面不会显示在屏幕,如果设备背景灯关掉或其他app开启在最前面,你的app就会进入这个状态。

当你的app在此状态并且没有运行后台的许可,它将会被停止不和不会接受任何处理,如果app允许运行在后台,你的app应该停止所有不必要的处理,只鉴定时间和需要反馈的处理结果。

在 Cascades 的app,当app进入此状态,invisible()信号就会被发出。

在 C App,NAVIGATOR_WINDOW_INVISIBLE 时间会被发送到app,通知app改变窗口状态 并且 会替代为 NAVIGATOR_APP_STOPING

当设备在危险状况时,黑莓10OS可能会自动引发一些时间影响app生命周期,如当设备低电量和关机时,它会关掉所有app,如果设备运行占大内存的app时也会引发,黑莓10OS会把后台app一些低内存的app关掉回收内存资源,可参看 Handing critical conditions 

相关文章

网友评论

    本文标题:2 黑莓native应用的生命周期

    本文链接:https://www.haomeiwen.com/subject/dfoxittx.html