讓變化成為計劃的一部分

          歡迎大家探討本Blog涉及的所有軟件課題。我的Google Talk ID:zhengyun(at)gmail.com。

          我最希望軟件帶給用戶的感受是:美好的體驗、舒適感、簡約、干凈...

          posts - 32, comments - 8, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          第一,
          下面的代碼在索愛機型上可以運行,在nokia s60模擬器上也可以運行,唯獨不能在nokia 7610上運行,程序會自動退出:

          new Thread(this, "Menu thread").start();


          必須改寫為

          Thread thread;
          (thread = new Thread(this)).start();

          方能在真機上運行。

          這種程序自動退出的問題,有時候是因為你根本猜想不到的代碼導致的,這時候只能通過二分排除法(不斷地注釋代碼來縮小代碼范圍)來判定了。

          第二,再譬如說,
          你的代碼中有對double的使用,比如這種代碼:

          double alpha = (double)Math.abs(i - m_canvasWidth / 2) /
                                     (double)m_canvasWidth;


          但是,注意一點,CLDC1.1才開始支持Math,“Math functions in java.lang package is available only since CLDC-1.1”。所以,如果你一旦在CLDC1.0的nokia手機上使用,那么,即使你用了try/catch捕獲異常,程序也會自動退出。

          這時候你也不要驚詫。

          第三,
          Thread thread;
                (thread = new Thread(this)).start();代碼可以運行。
          但是Thread thread;
                (thread = new Thread(this, "Menu thread")).start();
          就會導致Nokia真機立即退出。
          同樣,
          Thread thread;
                    (thread = new Thread(new Runnable()
                    {
                      public void run()
                      {
                        m_inputHandler.handleStringInput(input);
                      }
                    }, "inputHandler")).start();
          也會導致立即退出。
          以上雖然模擬器可以運行,但是真機是不允許的。
          主站蜘蛛池模板: 秦皇岛市| 马边| 慈利县| 丰城市| 喀喇沁旗| 东港市| 西盟| 隆子县| 仙游县| 廊坊市| 合川市| 嘉定区| 临桂县| 隆子县| 江永县| 保山市| 台湾省| 余姚市| 金坛市| 黄骅市| 绥芬河市| 拜泉县| 万荣县| 康平县| 大庆市| 临夏县| 剑河县| 南江县| 博兴县| 丹阳市| 大安市| 博野县| 正安县| 神农架林区| 福贡县| 绥滨县| 黎川县| 东阿县| 璧山县| 松潘县| 贵德县|