通州北大青鳥Java技術(shù)講座之優(yōu)化圖片

通州北大青鳥老師強(qiáng)調(diào),Java優(yōu)化在編程中的作用不容忽視,因?yàn)橐粋優(yōu)化技術(shù)的好壞,直接影響了這段程序的運(yùn)作。

內(nèi)存會溢出肯定和代碼逃不了關(guān)系,同學(xué)們都知道垃圾回收器是 ava的一大優(yōu)點(diǎn)。顯然這個特性為大家寫代碼省了不少事,但這個特性也帶來了不少隱患。舉個例子,在游戲當(dāng)中經(jīng)常有不同場景的切換,如從游戲邏輯退到主菜單邏輯,對游戲邏輯對象的態(tài)度很多人會選擇忘記等待垃圾回收器來收尸。乍看之下似乎并無不妥垃圾回收器會來善后。實(shí)際上垃圾回收器并非實(shí)時的,它不像C++的Delete語句馬上釋放不用的內(nèi)存。當(dāng)從游戲邏輯切換到主菜單邏輯這時兩個對象同時存在很可能這時內(nèi)存就不夠用了。所以從一個角度上來講在j2me上所有垃圾必須由手工釋放。

j2me的內(nèi)存溢出最嚴(yán)重的無疑非圖片莫屬,一張3k的圖片可以占用20多k的內(nèi)存不信大家把load前后的內(nèi)存剩余打印出來對比看看.所以防止內(nèi)存溢出最直接的辦法就是從圖片入手。如何優(yōu)化圖片?

多數(shù)人馬上會想到圖片壓縮這個辦法。的確,這個辦法是最有效的.在photoshop里圖片制作完成后不要選擇 “存儲為”,而是選擇 “存儲為 web 所用格式” 可以根據(jù)里面的選項(xiàng)進(jìn)行壓縮,特別是顏色這一項(xiàng)越小越好不過相應(yīng)的圖像會有所失真。那么完成這步就結(jié)束了嗎?其實(shí)不是。

實(shí)際上該圖片還可以再次壓縮,在網(wǎng)上有許多類似的工。在這里,通州北大青鳥老師推薦一款可以壓縮png格式的軟件xat.com Image Optimizer 。

假如你有多張規(guī)格一樣的圖片,那么建議你把它做成一張長條圖片。有兩個原因:
1、節(jié)省存儲空間和內(nèi)存空間.
2、10張圖片需要10個image 對象需要進(jìn)行10次io操作浪費(fèi)時間不說還浪費(fèi)內(nèi)存.圖片太大了不要把不同界面的圖片整合在一起否則經(jīng)常會得不償失。

另外,通州北大青鳥老師還要提醒大家,作圖時有一些細(xì)節(jié)需要注意,包括顏色數(shù)量,分辯率,圖像模式(最好是索引顏色)。畫布大小等等,都會影響到圖片大小。

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡章