受限於行動裝置資源,J2ME 程式優化至關重要。以下針對 J2ME 平台特性的優化技巧:
- 確定目標 FPS:先做小實驗平衡顯示效果與執行速度。
- 重複使用 Graphics 物件:
GameCanvas.getGraphics() 每次呼叫產生新物件,應取一次快取重用。
- 共用事件監聽器:讓主 MIDlet 實作
CommandListener、ItemStateListener,減少物件建立。
- 善用廠商 SDK 優化:廠商最了解自家硬體,特別是圖片/影片處理常有專屬加速。
- 使用效能分析工具:WTK 與廠商 SDK 內建記憶體/CPU 監視器,找出瓶頸;實機可用 Timer 測試。
- 謹慎使用 System.gc():非阻塞時可緩解記憶體壓力,但 Nokia 等廠商不建議濫用,低階機種執行較慢。
- 以固定陣列取代 Vector:陣列存取更快、記憶體額外負擔更小。
- 圖片優化:依裝置規格調整解析度,高解析度圖片不一定能正確顯示。
- 釋放無用物件:將不再使用的物件參考設為
null,加速 GC 回收。
- 使用混淆器:防止反編譯,副作用是縮短類別/方法/變數名稱,減小 class 檔體積。