out momory 一陣天旋地轉記憶體又溢位了。在手機上這種痛苦經常都有,套一句俗話在手機上用記憶體必須勒緊褲腰帶。雖然現在pc記憶體上g都不奇怪,可是在手機上卻只能以k來記,可能某位同志會馬上跳出來說也有上m的,記住中國還不富大多數手機都是低端手機。寫手機程式讓我彷彿回到了dos時代(自我安慰一下那個時代也煉出了不少高手說不定我是下乙個)。言歸正傳做記憶體優化可以歸結為以下幾種方法。**優化,優化,第三方工具優化等…
一.**優化
j2me的記憶體殺手無疑非莫屬,一張3k的可以占用20多k的記憶體不信大家把load前後的記憶體剩餘列印出來對比看看。所以防止記憶體溢位最直接的辦法就是從入手。
1.壓縮: 多數人馬上會想到這個辦法。不錯這個辦法是最有效的。在photoshop裡製作完成後不要選擇 "儲存為",而是選擇 "儲存為 web 所用格式" 可以根據裡面的選項進行壓縮,特別是顏色這一項越小越好不過相應的影象會有所失真。不要認為這樣就完了。
實際上該還可以再次壓縮,在網上有許多類似的工具。推薦一款可以壓縮png格式的軟體 xat.*** image optimizer 效果不錯。經常都有 70% 的壓縮率且影象不會失真。
假如你有多張規格一樣的,那麼建議你把它做成一張長條。有兩個原因:
1、 這樣節省儲存空間和記憶體空間。大家可做個試驗將10張的內容放在一張當中對比看看檔案大小有沒有變化。
2 、10張需要10個image 物件需要進行10次io操作浪費時間不說還浪費記憶體。當筆者發現這個好處時興奮地把所有都存成一張,吱地一聲記憶體又溢位了...原因想必大家也知道!!太大了不要把不同介面的整合在一起否則經常會得不償失。
作圖時還有一些細節需要注意,顏色數量,分辯率,影象模式(最好是索引顏色),畫布大小都會影響到大小。
三. 工具優化
誰都知道混淆器是用來保護**的以加大反編譯的難度(個人認為這是在嘲笑程式設計師的智商)。實際上用它來優化程式也是不錯的選擇,至少有兩點好處:1、 壓縮程式大小。乙個60k的程式經常可以壓掉10k左右。10k的空間對於寫低端手機的程式設計師簡直是雪中送碳,多少超過64k限制的遊戲都受過它的恩惠;2、節省記憶體空間。用腳去想也想得出來**少了記憶體裡的**段自然就短了。
根據經驗很多人都會用jb自帶的混淆器retroguard,實際上它效果並不怎麼好。推薦使用proguard 在
j2me程式優化技巧
1 少用字串連線,多用stringbuffer 2 盡量用固定大小的陣列代替使用vector 3 如果可以不使用新class就能實現功能,就不要增加新的class,因為每個class都有一定的記憶體開銷 4 使用有限的物件導向,因為純粹的oo往往意味著更多的虛方法,更多的層次關係,更多的class ...
J2ME 文字滾動
private int tipstringpos screen width 當前字串左邊的位置 private int tipstringspeed 2 字串移動速度 private static final int tipstr left 5 5 左邊消失繪製座標 private static f...
j2me學習總結
j2me隨著最後乙個遊戲的完成,可以畫上乙個小句號了。做了幾個東西,簡單說一下。環境winxp eclipse netbeans 手機 nokia5230,s60v5平台 1 冷笑話 這個就是入門,執行之後可以看一些冷笑話,還有謎語之類的,用的是j2me自帶的ui 2.貪食蛇。就是貪食蛇,用了遊戲的...