J2ME平台中有几个重要的概念,例如内存、CLDC、MIDP等。初学J2ME往往对这些概念理解不深,甚至出现偏差。本文的目的在于对J2ME中的相关重要概念进行阐述。
1. 内存
我们一直在强调,移动信息设备的内存非常小,使用起来应该加倍的珍惜,但是我们却很少知道这些内存是如何分类的,下面将做具体的介绍。事实上MIDP设备的内存分为三种,Programme Memory、Heap、persistent Storage。
0Programme 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构成。