public class Runtime { private static Runtime currentRuntime = new Runtime(); public static Runtime getRuntime() { return currentRuntime; } private Runtime() {} public void exit(int status) { throw new SecurityException( "MIDP lifecycle does not support system exit."); } public native long freeMemory(); public native long totalMemory(); public native void gc();}
Runtime是一個基礎類。從中可以看到:
這闡明,MIDP中是沒有過程的概念的。Midlet相當於容器裡的一個組件。每個MIDlet的啟動和封閉並不是意外著過程的結束。這跟PC電腦上的概念非常的不同。
在手機中,存儲區域分為ROM和RAM。每個Java的程序是放在ROM中的,運行的時候是放在RAM中的。不同於PC,沒有磁盤的概念。啟動程序是從ROM調到RAM中。
啟動一個Java程序時候,首先打開JVM,將ROM中的Java程序調到JVM中,JVM找到Midlet的startApp來開端履行。當退出的時候,需調用 detroyApp。
所以,當程序向自己調用exit()的時候只能得到一個安全的異常。但不必定會退出的。當要退出的時候是調用destroyApp來退出的。同時實現notifyDestroyed來通知JVM已經退出了。