這篇文章主要是「j2
me中的
記憶體洩漏」文章的補充部分。
這裡主要說一下使用
雙緩衝中容易產生的記憶體洩露現象
也許有人沒用過
雙緩衝,這裡做個簡單的介紹
雙緩衝就是在記憶體中開闢乙個新的空間,你可以在上面繪製,然後一起繪製到手機螢幕上。採用
雙緩衝最大的好處是可以提高繪製速度,缺點是消耗記憶體。
建立雙緩出的例子:
image dimage=image.createimage(width,height);//建立一張指定大小的
graphics dg=dimage.getgrahics();//獲得該圖品的graphics
然後就可以使用dg物件來繪製了
image d=image.createimage("/1.png");
dg.drawimage(d,0,0,graphics.top | graphics.left);
最後將該繪製在手機螢幕就可以了
g.drawimage(dimage,0,0,graphics.top | graphics.left);
釋放雙緩衝空間時,不能僅僅釋放dimage物件,如:dimage=null;
還要釋放dg物件,不然,dimage是不會被釋放掉的,因此就可能造成記憶體洩露現象。
因該這樣做:
dg=null;
dimage=null;
這只是我的經驗之談。希望對大家能有所幫助。
J2ME中的記憶體洩漏 雙快取
雙緩衝就是在記憶體中開闢乙個新的空間,你可以在上面繪製,然後一起繪製到手機螢幕上。採用雙緩衝最大的好處是可以提高繪製速度,缺點是消耗記憶體。建立雙緩出的例子 image dimage image.createimage width,height 建立一張指定大小的 graphics dg dimag...
j2me實現雙緩衝
j2me程式中,如果我們先前程式設定的螢幕大小為240x300,為了在240x320螢幕繪製時自適應居中我們可以使用雙緩衝來實現 gamescreen中 定義變數 public final static int screenw 240 程式原來的寬度 public final static int ...
J2ME雙緩衝技術
雙緩衝主要是用來解決螢幕閃爍以及繪圖效率的問題,這裡介紹下midp裡面使用方法。1 有乙個函式可以判斷裝置是否實現了雙緩衝 isdoublebuffered 如果返回true,表示裝置自身實現了雙緩衝,理論上說我們就不用再自己設定了。不過為了安全第一,大家普遍認同的做法是,不管裝置有沒有實現,我們都...