作者:雷神
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描述中增加一项
MIDletX-No-Command: true
同时需要注意,他的左右软件动作与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