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
网友评论