作者:雷神
QQ: 38929568
QQ群:28048051(滿) 28047782(将滿)
項目中總結出來的一些不太容易發現,卻影響程式開發的一些小經驗,如果你正好遇到這些問題了,那就不用
再找原因了!
1.LENOVO--V800,CPU速度比一般手機慢5倍左右!
2.LG,C1100相容手機,在讀檔案時候,檔案不宜過大,否則讀取失敗!
3.LG,KP202相容手機,在單Player播放聲音時候,如果出現當機,請檢視停止播放聲音代碼,參考如下修改!
public static void StopSound()
...{
try
...{
if( player== null )
return;
else
...{
player.deallocate(); //增加次函數
player.close();
player = null;
}
}
catch ( Exception e ) ...{ e.printStackTrace(); }
}
4.LG C1100手機按鍵,在全螢幕加command可以實作左右軟體動作,但需要在JAD描述中增加一項
MIDletX-No-Command: true
5.LG CG225手機按鍵,在全螢幕加command可以實作左右軟體動作,但需要在JAD描述中增加一項
同時需要注意,他的左右軟體動作與B2100(C1100的相容手機)是相反的!
6.LG KG220手機的按鍵,在全屏模式下就可以得到左右軟體動作,不需要加COMMAND,是以在這一定上,他不與C1100相容。
7.在單Player播放聲音時候不需要stop()這個函數,一般都是先close()掉這個Player,然後再需要播放前new出一個新的,也就是先釋放在生成!參考代碼
public static void PlaySoundLoop(int id, int loop)
StopSound(); // stop last midi
try
InputStream is = new ByteArrayInputStream( s_soundData[id] );
s_sound = javax.microedition.media.Manager.createPlayer(is, "audio/midi");
s_sound.realize();
s_sound.setLoopCount( loop );
s_sound.start();
s_curSoundId = id;
catch (Exception e) ...{ e.printStackTrace(); }
8.從一張大圖檔上按一定規律截取小圖,小圖本來應該透明的地方,被白色添充了。
簡單的解決辦法,可以使用小圖單獨生成。參考代碼如下:
try
for( int i=0; i<img.length; i++ )
img[i] = Image.createImage("/pics/"+name+"_"+i+".png");
// Image temp = Image.createImage("/pics/"+name+".png");
// form = temp.getWidth()/w;
// img = new Image[form];
// Graphics gn;
// for( int i=0; i<img.length; i++ )
// {
// img[i] = Image.createImage(w, h);
// gn = img[i].getGraphics();
// gn.drawImage(temp, -i*w, 0, gn.LEFT|gn.TOP);
// }
// gn = null;
// temp = null;
// System.gc();
}catch(Exception e)...{ e.printStackTrace(); }
未完待續! 不斷更新中...
本文轉自 kome2000 51CTO部落格,原文連結:http://blog.51cto.com/kome2000/578510