J2ME編程中的幾個(gè)重要概念
1. 內(nèi)存
我們一直在強(qiáng)調(diào),移動(dòng)信息設(shè)備的內(nèi)存非常小,使用起來(lái)應(yīng)該加倍的珍惜,但是我們卻很少知道J2ME編程中這些內(nèi)存是如何分類的,下面將做詳細(xì)的介紹。事實(shí)上MIDP設(shè)備的內(nèi)存分為三種,Programme Memory、Heap、persistent Storage。
Programme Memory是移動(dòng)信息設(shè)備分配給MIDlet suite的空間,因?yàn)镸IDlet suite是以jar文件進(jìn)行發(fā)布的,所以這個(gè)文件的大小可以認(rèn)為是Programme Memory的大小。一些廠商對(duì)Programme Memory的最大值是有限制的,例如我的Nokia 6108的最大值是 64k,超過的話將不能進(jìn)行安裝。在J2ME編程中減小MIDlet suite的大小非常重要,一個(gè)便捷的方法就是使用混淆器對(duì)應(yīng)用程序進(jìn)行混淆,這樣可以減小jar文件的大小。在以后的文章中我會(huì)談到如何使用Proguard。
Heap是應(yīng)用程序在運(yùn)行過程中存放所創(chuàng)建的對(duì)象的存儲(chǔ)空間,本地變量和成員變量也是放在Heap上的,MIDP設(shè)備中提供的Heap空間大概在幾十k到幾百K。
Persistent Storage的空間是用來(lái)實(shí)現(xiàn)MIDP應(yīng)用程序的本地?cái)?shù)據(jù)持久性存儲(chǔ)的,在Record Management System從入門到精通中我做了詳細(xì)的介紹這里就不再多說(shuō)了。
2. Connected Limited Device Configuration
CLDC包括一個(gè)Java虛擬機(jī)和一系列的基礎(chǔ)類,J2ME的專家組經(jīng)過對(duì)移動(dòng)信息設(shè)備進(jìn)行硬件抽象后得到他們的特點(diǎn),然后設(shè)計(jì)并實(shí)現(xiàn)了在移動(dòng)信息設(shè)備上運(yùn)行的java虛擬機(jī),通常我們把它叫做KVM。在CLDC1.0還同時(shí)提供了由java.io、java.lang、javax.microediton.io、java.util組成的基礎(chǔ)類。在CLDC1.1里面添加了java.lang.ref。
3. Mobile Infomation Device Profile
MIDP是運(yùn)行在CLDC基礎(chǔ)之上的,在MIDP中定義了應(yīng)用程序的生命周期、用戶圖形界面、數(shù)據(jù)管理系統(tǒng)等子集,從而構(gòu)建起了J2ME編程平臺(tái)。通常,J2ME平臺(tái)由一個(gè)CLDC和一個(gè)或者多個(gè)Profile構(gòu)成。
【編輯推薦】