关于unconditional
2008-02-23 09:51:28来源:互联网 阅读 ()
在active状态调用destroyApp(boolean unconditional)或者pauseApp()方法可以使得MIDlet进入destroyed或者pause状态。值得一提的是destroyApp(boolean unconditional)方法,很多开发者对unconditional参数不是很理解,事实上,当destroyApp()方法被调用的时候,AMS通知MIDlet进入destroyed状态。在destroyed状态的MIDlet必须释放了所有的资源,并且保存了数据。如果unconditional为false的时候,MIDlet可以在接到通知后抛出MIDletStateChangeException而保持在当前状态,如果设置为true的话,则必须立即进入destroyed状态。--mingJava的专栏
destroyXlet(boolean unconditional) 该方法通知Xlet结束运行,转入拆除状态。Xlet应当释放所有的资源。参数unconditional由管理器设置,表示是否要无条件地拆除Xlet。如果unconditional是false,Xlet可以抛出一个StateChangeException异常,表示自己不想被拆除——但是,是否接受Xlet请求最终还是由管理器决定。也就是说,虽然Xlet有权合法地抛出StateChangeException异常,但最终决定其命运的还是管理器。如果管理器接受了Xlet要求不拆除的请求,它会给Xlet一些时间,一定的时间后再次调用destory()方法,这次unconditional一般会设置成true。当unconditional参数是true时,管理器将忽略任何XletStateChangeException异常,一旦destoryXlet()返回就直接拆除Xlet。 可以从生命周期方法抛出的异常有两种:XletStateChangeException,未被捕获的RuntimeException或错误。 如果生命周期方法抛出了未处理的RuntimeException或错误,管理器将立即调用Xlet的destoryXlet(true)方法,将Xlet拆除。因此,Xlet应当捕获所有“正常的”(原因已知的)RuntimeException或错误,避免将RuntimeException直接抛给管理器从而导致Xlet被拆除。相对而言,XletStateChangeException可以由Xlet有意地抛出,表示Xlet尚未做好改变状态的准备。 --赛迪网
上一篇: 用eclipse+Hibernate Synchronizer(plugin)开发例子(原创)
下一篇: 15th Annual Jolt Product Excellence & Productivity Awards
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash