惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
Security Latest
Security Latest
Simon Willison's Weblog
Simon Willison's Weblog
O
OpenAI News
GbyAI
GbyAI
L
LINUX DO - 最新话题
A
Arctic Wolf
T
Tor Project blog
G
GRAHAM CLULEY
I
InfoQ
博客园_首页
IT之家
IT之家
The Register - Security
The Register - Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
The GitHub Blog
The GitHub Blog
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
K
Kaspersky official blog
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
U
Unit 42
PCI Perspectives
PCI Perspectives
量子位
P
Palo Alto Networks Blog
S
Securelist
T
Troy Hunt's Blog
博客园 - 【当耐特】
Recorded Future
Recorded Future
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
Engineering at Meta
Engineering at Meta
T
The Blog of Author Tim Ferriss
博客园 - 聂微东
罗磊的独立博客
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
B
Blog RSS Feed
NISL@THU
NISL@THU
C
Cisco Blogs
T
Threatpost
有赞技术团队
有赞技术团队
Forbes - Security
Forbes - Security
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
T
The Exploit Database - CXSecurity.com
Cloudbric
Cloudbric
Cyberwarzone
Cyberwarzone
Google DeepMind News
Google DeepMind News
C
Cyber Attacks, Cyber Crime and Cyber Security

博客园 - 磊

淘宝店铺开业送优惠券 报表统计查询 Word 发布测试 【原创】hibernate中delete的一点见解 关于23种设计模式的有趣见解[转] 用Visual C#调用Windows API函数 DataGrid,GridView和DetailsView中添加删除确认提示 2.0新控件 Localize ASP.NET直接下载一个文件 - 磊 - 博客园 dFastlog.dll错误和数据库连接错误的解决办法 "Automation 服务器不能创建对象" 的解决方法 - 磊 "FSO"的禁用与启用 如何做最简单的url跳转 我的主页 更换SQL对象属主的方法 如何在WinXP中批量修改文件名? 利用Forms实现两种不同验证系统 Froms验证 改版网站真麻烦
Nokia 中的暂停功能
· 2005-10-03 · via 博客园 - 磊

Posted on 2005-10-03 18:08    阅读(497)  评论()    收藏  举报

有时,MIDlet 的自动暂停功能非常实用。例如,所有可能的系统通告能够在MIDlet 之上显示,从而
把MIDlet 隐藏在后台。
MIDP 规范规定,如果系统需要大量设备资源,系统能把MIDlet 设为暂停状态(方法pauseApp)。
在暂停状态下,MIDlet 能够释放其所有资源。目前可用的Series 40、60 和90 设备具有足够的运行
能力和内存,故它们不需要进入暂停状态。这意味着开发人员必须创建自己的暂停机制。
Forum.Nokia.com
Developer Platforms: J2METM 应用软件测试指南 12
换句话说,在MIDlet 交互期间,如果发生下列事件之一,开发人员必须创建一个方法来暂停一个激
活会话.
• 屏幕上显示一个系统通告(例如,有电话呼入、电量已满或过低)。
• 用户按下红色拨号键、电量键(Series 40 设备中不存在)或设备的应用键。
• 应用软件的主屏幕被系统菜单隐藏,或者其它应用软件设置为前台运行(Series 40 设备中不存
在该情况)。
实际上,当MIDlet 隐藏时,它总是处于暂停状态。这在游戏应用软件中尤其重要,因为,如果在游
戏被隐藏时没有立刻暂停,游戏者可能会输掉游戏。
可以用类Displayable 的方法isShown()或者类Canvas 或CustomItem 的方法 hideNotify() 来暂
停MIDlet。
所有用户界面(UI)组件都继承自类Displayable。因此,可以用方法isShown()测试一个UI 组件
是否可见。如果UI 组件由于某种原因被隐藏,可通过反复请求方法isShown()获得信息。方法
isShown()可以用于高级UI 组件,如Form 或 List,但是对于继承自类Canvas 的低级UI 组件,最
好使用其专有的方法hideNotify() 和 showNotify()。
在Canvas 对象离开显示屏后,方法hideNotify()将被立刻调用。在方法hideNotify()中创建
一个自动暂停机制,用来暂停线程、关闭计时器、保存重要数值等。参见下面的代码范例:
protected void hideNotify()
{
//执行暂停时的操作
remainingTime = endTime – System.currentTimeMillis();
myThread.stop();
autoPaused = true;
repaint();
// Include a pause test in paint() method to check if paused
// paint a pause message on screen if autoPaused true
}
protected void paint(Graphics g)
{
// paint game screen here
if (autoPaused == true) {
// paint pause message
}
}
暂停之后的操作是继续,故需要把Continue 选项显示给用户。例如,Continue 选项可以是应用软件
主菜单的一个条目。
检查以下各项:
• 发生任何中断时,能够暂停应用软件。
• 如果MIDlet 被隐藏,它能自动暂停。
• 在中断后,可以选择继续运行应用软件。