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

J2ME 程式效能優化 20 招:從程式碼到資源管理

     編輯:J2ME

前言

J2ME 運行環境資源極其受限,優化至關重要。以下彙整 20 個實戰技巧,分為通用優化與極限優化兩類。

通用優化技巧 (1-13)

  1. 鎖定目標 FPS:先做小實驗平衡效果與速度。
  2. 重用 Graphics 物件:GameCanvas.getGraphics() 每次新建,應取一次反覆用。
  3. 共用 Listener 介面:讓主 MIDlet 實作 CommandListener、ItemStateListener 等,減少物件。
  4. 善用廠商 SDK:廠商最懂自家硬體,尤其圖片/視訊處理常有加速。
  5. 用 Profiling 工具找瓶頸:WTK、廠商工具皆有;實機可用 Timer 測試。
  6. 謹慎使用 System.gc():非阻塞時可緩解記憶體壓力,但 Nokia 不建議,Sun 警告低階機種執行慢,慎用。
  7. 陣列代替 Vector:固定大小陣列效能優於動態 Vector。
  8. 圖片規格適配:依裝置解析度準備圖片,避免運行時縮放。
  9. 廢棄物件設 null:加速 GC 回收。
  10. 混淆器:防反編譯且縮短名稱減小 Class 檔體積。
  11. 大資料編碼/外部化:字串編碼或二進位檔 + getResourceAsStream 讀取。
  12. 善用內建類別:如 GameCanvas 內建雙緩衝;CLDC 無集合框架,用 Hashtable/Vector 實作。
  13. 嘗試 jPresto:自動優化工具 (未親測)。

極限優化 (14-20) —— 可能違背 OO 原則,視專案嚴格度採用

  1. 資源合併:所有資源打包成單一資料檔。
  2. 圖集:小圖合併成大圖,運行時切割。
  3. 有限度 OO:純 OO 意味著更多虛方法、層次、Class,適度妥協。
  4. 極少 Class:每個 Class 有系統開銷。
  5. 極少方法:速度排序:同步方法 < 介面方法 < 實例方法 < final 方法 < 靜態方法。
  6. final static 方法:微幅提速。
  7. public 欄位代替 Getter/Setter:注意安全性。

結語

優化效果因模擬器/實機而異,必須以目標裝置規格為基準。上述技巧非萬能靈藥,請依專案實況選擇採用。

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