J2ME平台中有幾個重要的概念,例如內存、CLDC、MIDP等。初學J2ME往往對這些概念理解不深,甚至出現偏差。本文的目的在於對J2ME中的相關重要概念進行闡述。
1. 內存
我們一直在強調,移動信息設備的內存非常小,使用起來應該加倍的珍惜,但是我們卻很少知道這些內存是如何分類的,下面將做詳細的介紹。事實上MIDP設備的內存分為三種,Programme Memory、Heap、persistent Storage。
Programme Memory是移動信息設備分配給MIDlet suite的空間,因為MIDlet suite是以jar文件進行發布的,所以這個文件的大小可以認為是Programme Memory的大小。一些廠商對Programme Memory的最大值是有限制的,例如我的Nokia 6108的最大值是 64k,超過的話將不能進行安裝。減小MIDlet suite的大小非常重要,一個便捷的方法就是使用混淆器對應用程序進行混淆,這樣可以減小jar文件的大小。在以後的文章中我會談到如何使用Proguard。
Heap是應用程序在運行過程中存放所創建的對象的存儲空間,本地變量和成員變量也是放在Heap上的,MIDP設備中提供的Heap空間大概在幾十k到幾百K。
Persistent Storage的空間是用來實現MIDP應用程序的本地數據持久性存儲的,在Record Management System從入門到精通中我做了詳細的介紹這裡就不再多說了。
2. Connected Limited Device Configuration
CLDC包括一個Java虛擬機和一系列的基礎類,J2ME的專家組經過對移動信息設備進行硬件抽象後得到他們的特點,然後設計並實現了在移動信息設備上運行的java虛擬機,通常我們把它叫做KVM。在CLDC1.0還同時提供了由java.io、java.lang、javax.microediton.io、java.util組成的基礎類。在CLDC1.1裡面添加了Java.lang.ref。
3. Mobile Infomation Device Profile
MIDP是運行在CLDC基礎之上的,在MIDP中定義了應用程序的生命周期、用戶圖形界面、數據管理系統等子集,從而構建起了J2ME平台。通常,J2ME平台由一個CLDC和一個或者多個Profile構成。