首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

J2ME 速成核心概念:配置、概要、KVM/CVM 與開發策略

     編輯:J2ME

Sun 官方定義

J2ME:面向廣泛消費性產品 (尋呼機、手機、可視電話、機頂盒、車載導航) 的高度優化 Java 運行時環境。

架構兩大支柱

  • 配置:決定 JVM 類型 + 核心類庫子集 = 基礎運行時。
  • 概要:在配置之上疊加垂直領域 API (UI、網絡、存儲、生命週期) = 完整應用模型。

兩大配置對比

項目CLDCCDC
JVMKVM (Kilobyte VM)CVM (Compact VM)
CPU16/32 位32 位
記憶體160~512 KB≥ 2 MB
典型裝置低端手機、傳呼機、Palm PDA智能手機、機頂盒、車載、高端 PDA
核心包java.io/lang/util 子集 + GCF近 J2SE 1.3 (含 net/security/text 等)
關係CLDC ⊂ CDC (CDC 為超集)

兩大概要 (建構於 CLDC)

KJava (Sun 專有)

  • 運行於 Palm OS,包 com.sun.kjava,API 風格近 AWT。
  • 非標準,不具可移植性,僅供早期 Palm 開發參考。

MIDP (Mobile Information Device Profile) — 工業標準

  • MIDP 1.0:java.lang/io/util + javax.microedition.io/lcdui/midlet/rms。高級 UI (Form/List/Alert/Canvas)、HTTP、RecordStore。
  • MIDP 2.0:新增 HTTPS、WMA (SMS)、MMAPI (多媒體)、Game API (GameCanvas/Sprite/Layer/TiledLayer)、推送註冊、信任域簽名、權限體系。

開發設計鐵律

  1. 保持簡單:單一 MIDlet、單一主類、極少依賴。
  2. 程序越小越好:JAR 體積直接影響 OTA 下載時間與裝置存儲;目標 < 64 KB (早期) / < 300 KB (後期)。
  3. 運行時佔用最少記憶體:
    • 避免大對象長駐:圖片/音頻用完即 null + System.gc()。
    • 字串常量池、靜態字段審慎使用。
    • 採用 資源外部化:數據/關卡/文本放資源文件,運行時流式讀取。
    • 峰值記憶體管理:Image.createImage、Player.createPlayer、RecordStore.openRecordStore 瞬間佔用大,錯開調用、分批載入。

圖片記憶體估算公式

記憶體(Bytes) = 寬 × 高 × 位深/8

  • 4096 色 (12-bit) 設備 (如 Nokia 7210):× 1.5 Bytes/像素。
  • 65536 色 (16-bit) 設備 (S60 v2+):× 2 Bytes/像素。
  • 例:64×64 圖片 → 7210 佔 6 KB,S60 佔 8 KB。

壓縮 (PNG/JPG) 僅減小 JAR 體積,不減少運行時解碼後記憶體佔用。

總結

J2ME 開發本質是在極度受限資源下的工程取捨。掌握配置/概要層級差異、KVM/CVM 能力邊界、記憶體/存儲/網絡三大瓶頸優化策略,即可應對絕大多數功能機/早期智能機開發挑戰。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved