首页 理论教育 小应用程序生命周期的概念和方法

小应用程序生命周期的概念和方法

时间:2022-02-28 理论教育 版权反馈
【摘要】:小应用程序的生命周期相对于Application而言较为复杂。当小应用程序第一次被支持Java的浏览器加载时,便执行该方法。start()方法在小应用程序的生命周期中被调用多次,以启动小应用程序的执行,这一点与init()方法不同。如果小应用程序中不包含动画、声音等程序,通常也不必重载该方法。当然,如果这个小应用程序仍然处于活动状态,Java会在调用destroy()之前,调用stop()方法。

10.2.1 小应用程序生命周期的概念和方法

小应用程序的生命周期相对于Application而言较为复杂。在其生命周期中涉及到Applet类的4个方法(也被JApplet类继承):init()、start()、stop()和destroy()。下面简要描述这4个方法。

Applet的生命周期中有4个状态:初始态、运行态、停止态和消亡态。当程序执行完init()方法以后,Applet程序就进入了初始态;然后马上执行start()方法,Applet程序进入运行态;当Applet程序所在的浏览器图标化或者是转入其他页面时,该Applet程序马上执行stop()方法,Applet程序进入停止态;在停止态中,如果浏览器又重新装载该Applet程序所在的页面,或者是浏览器从图标中复原,则Applet程序马上调用start()方法,进入运行态;当然,在停止态时,如果浏览器关闭,则Applet程序调用destroy()方法,进入消亡态。

Applet的生命周期的主要方法如下。

(1)init()

创建Applet时执行,只执行一次。

当小应用程序第一次被支持Java的浏览器加载时,便执行该方法。在小应用程序的生命周期中,只执行一次该方法,因此可以在其中进行一些只执行一次的初始化操作,如处理由浏览器传递进来的参数、添加用户接口组件、加载图像和声音文件等。

小应用程序有默认的构造方法,但它习惯于在init()方法中执行所有的初始化,而不是在默认的构造方法内。

(2)start()

多次执行,当浏览器从图标恢复成窗口,或者是返回该主页时执行。

系统在调用完init()方法之后,将自动调用start()方法。而且每当浏览器从图标恢复为窗口时,或者用户离开包含该小应用程序的主页后又再返回时,系统都会再执行一遍start()方法。start()方法在小应用程序的生命周期中被调用多次,以启动小应用程序的执行,这一点与init()方法不同。该方法是小应用程序的主体,在其中可以执行一些需要重复执行的任务或者重新激活一个线程,例如,开始动画或播放声音等。

(3)stop()

多次执行,当浏览器变成图标时,或者是离开主页时执行,主要功能是停止一些耗用系统资源的工作。

与start()相反,当用户离开小应用程序所在页面或浏览器变成图标时,会自动调用stop()方法。因此,该方法在生命周期中也被多次调用。这样可以在用户并不注意小应用程序的时候,停止一些耗用系统资源的工作(如中断一个线程),以免影响系统的运行速度,且并不需要人为地去调用该方法。如果小应用程序中不包含动画、声音等程序,通常也不必重载该方法。

(4)destroy()

用来释放资源,在stop()之后执行。

浏览器正常关闭时,Java自动调用这个方法。destroy()方法用于回收任何一个与系统无关的内存资源。当然,如果这个小应用程序仍然处于活动状态,Java会在调用destroy()之前,调用stop()方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈