天天看點

J2ME程式員容易遇到的問題!不斷更新中_2008.05.17

以下這些問題都是我遇到的!發出來大家要小心使用!以免再次發生

1 .  這個列印輸出的是什麼?

String str = null;  

       for (int i = 0; i < 3; i++)   

       ...{  

           if (str == null)   

           ...{  

               str += "str";  

           }  

           else   

               str += " " + i;  

       }  

       System.out.println("str=" + str); 

是 str=str 1 2?

我本想讓她輸出 這個可惜她給的是

str=nullstr 1 2

原因是 += 這個操作 把str = null;轉化成了字元串"null"

是以以後大家定義字元串最好用 str = "";

 //------------------------------------------------------------------------------------------------------------------------------------------------

2.由于作業系統 IDE 不同!在座J2me midlet 程式時候容易出現一些莫名其妙的錯誤!

我所遇到的是

          2.1. 在canvas類paint()裡掉子類的paint(),子類裡不能出現循環!否則模拟器無法正确運作!(win2k_en + eclipse 3.2 )

          2.2.通過子類調用父類的接口裡的變量,模拟器無法正常運作!(winxp_cn + eclipse3.1)

這兩個錯誤不是所有的IDE 都會出現! 如果出現了,我的解決辦法是:

2.1 換個IDE,如eclipse3.1

2.2 在win2k_en + eclipse3.1可以通過, 或者 不用接口,都放在父類裡定義, 不過,結構上不是很清爽!:(

//-------------------------------------------------------------------------------------------------------------------------------------------------

3.索愛K700該機器長時間使用半年左右容易出現控制杆操作不靈敏,如向上推控制杆,選項滾動條不動等,不過據說K700已經停産!

4.NOKIA5500長時間使用鍵盤上的皮套容易脫落!

5.西門子CL75 該機器軟體版本有早期的如2005年7月的,如果對該機器程式設計,不能再中斷傳回後馬上播放聲音,必須5秒以後才可以,否則當機! 而且在 showNotify(), hideNotify()中寫過多的代碼或操作,建議越少越簡單越好!否則容易不定當機!

6.LG CG225,MG220d 等機器有兩個鍵不能同時正常響應問題,如按住4,再按2,這時候應該釋放4,但該機器不能,但相同排的按鍵可以,如先按下4,在按下6,程式可以得到 4鍵的釋放事件!

 7.最近有幾台Nokia S60(Symbian OS 9.1-9.3 Series 60)的系統的機器出現了不識别任何Sim卡的現象:

在切換到offline模式後播放音樂(包括對聲音方面的其他操作,比如錄音)或進行其他軟體(比如運作遊戲,照相等)操作後發生切換不回正常模式,此後不識别所有Sim卡,目前暫時沒有辦法解決,隻能刷機。為了避免出現這個bug,我們要求大家在開發和測試S60系統手機的過程中,一定在裝有SIM卡的狀态下(不要進入offline的模式)。如不小心進到offline的狀态,請單擊開機鍵,更改到online模式,大家在切換到online模式前請不要進行任何軟體和聲音方面的操作。

8.發現 所愛K300真機上不支援g.translate( )這個系統方法!這會增加移植工作量!

9.NOKIA S40小版機器如128*128 128*160的手機播放OTT聲音檔案時,

        sounds.stop();

        sounds.release();

連寫才能把聲音停掉!不寫        sounds.release();  會使手機在中斷傳回時候 播聲音而遊戲freeze!

10. NOKIA S40 如5200 6085等播放MIDI WAV使用多PLAYER播放,單PLAYER可能在建立PLAYER時候FREEZE!

11.NOKIA S40 如6101在使用System.gc()時候,如果需要清理的垃圾比較多最好設定Thread.sleep(200);這樣才不容易出現應用錯誤,也許它需要時間來清理垃圾吧!:)

本文轉自 kome2000 51CTO部落格,原文連結:http://blog.51cto.com/kome2000/578516