midlet并不是由你一个人来控制

来源:互联网 发布:成都网站建设优化 编辑:程序博客网 时间:2024/06/12 01:16

关键字:j2me? midlet? jam

和作者联系:xiaozuidaizhi@sina.com

================================================================================

??????? 经过一段时间学习j2me,除了类库受限外,我还觉得midlet和application之间的差别主要表现在对程序的控制上,一个application的控制权完全在于程序员本身,但是,我觉得自己写的midlet程序是不能叫做完整的程序的,因为JAMS(Java Application Management System)也是控制midlet的极为重要的角色,这个角色甚至比你自己还要重要。

??????? 我认为,当一个midlet启动的时候,必然有一个优先级较高的线程跟随着该midlet启动,其主要任务是监听键盘输入。除此而外,JAMS应该还有一个机制来监听midlet的状态的转变,当你调用destroyApp(false);noticeDestroyed();时,这个机制就将当前状态转变为销毁态,当你调用pauseApp();noticePause();时,这个机制就将当前状态转变为暂停态。notice方法正是这个机制和midlet的通信接口!

????? 上面所说的两点,其内容都由JAMS来做,所以说,midlet不完全控制在程序员的手中。
================================================================================

关于这个问题的详细论述请查看作者的另一篇文章:

《敲开MIDlet的脑壳----在MIDlet中另外运行的两个线程》