2011-10-10 2 views
0

중단 점이 없으면 실행되지 않는 코드가 있습니다. 내 추측은 코드가 너무 빨리 실행되고 중단 점을 허용하는 시간 사이에 스레드가 내 코드에 잠길 수 있다는 것입니다. 그것은 또한 예외 처리와 함께 "잡히지"않기 때문에 나쁜 코드는 아니지만 브레이크 포인트가있을 때 더 시도해보고 원하는 모든 작업을 수행합니다.Android 코드 세그먼트가 중단 점 (스레드)없이 실행되지 않습니다.

잘 모르는 방법 이것은 디버그 모드에 있지 않고 작동합니다! 나는 대기() 또는 수면() 함수를 고려하고 있지만,이 바보 같은 해결 방법처럼 보인다,

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