2011-10-10 50 views
0

我有一些代碼不會運行,如果我沒有斷點。我的猜測是代碼執行速度太快,並且允許斷點繼續的時間讓我的代碼可以鎖定線程。它也不會被我的異常處理「抓住」,所以它的代碼不錯,但是當斷點出現時,它會進一步深入嘗試並做我想要的所有事情。Android代碼段不運行沒有斷點(線程)

不確定如何獲取這工作不在調試模式!我正在考慮的wait()或睡眠()函數,但它似乎是一個愚蠢的解決辦法,讓我知道,如果有

Thread triggerService = new Thread(new Runnable(){ 
     public void run(){ 
      Looper.prepare(); 
       try{ 
        // ....... code here does not get executed 
        // such as if statements or anything 


        Looper.loop(); 
       }catch(Exception ex){ 
        System.out.println("Exception in triggerService Thread -- "+ex); 
       }//end catch 
     }//end run 
    }, "myNewThread"); 
    triggerService.start(); 

洞察讚賞更好的辦法

回答

1

代碼適合我。你的程序中是否有其他代碼?你有沒有插入調試輸出?你可以測試run()方法是否被執行。

+0

嘿!我只是在調試輸出,它實際上進入try語句。所以這意味着它不會及時評估IF條件中的變量(這是已編輯的)。我刪除了if條件並運行我的更多代碼。我必須找到另一種方法來有條件地執行此操作 – CQM

+0

這是因爲if條件中的變量由另一個線程設置,並且該線程尚未完成 – CQM