2011-09-28 2 views
5

를 실행하는 어떤 코드 확인 :안드로이드 : 내가 보여 스레드 볼 AsyncTask를 디버그 창에 이클립스에서

스레드를 < 16> AsyncTask를 # 11

어떤 실제적인 부분을 확인하는 방법이 있나요 AsyncTask가 참조하는 코드는 무엇입니까? 실행중인 스레드를 식별하기 위해 코드에 추가해야 할 것이 있습니까?

+0

[AsyncTask의 스레드 이름 지정] (http://stackoverflow.com/questions/7684182/name-the-thread-of-an-asynctask) – aleb

+0

@aleb 일반적으로 오래된 게시물은 다음과 같은 중복으로 간주되지 않습니다. 속임수에 더 많은 의견과 득표가 있지만 최신 게시물. – laalto

답변

12

당신은 당신의 doInBackground 함수의 시작 부분에 AsyncTask 스레드 이름을 지정할 수 있습니다 :

public void doInBackground(Params... params) { 
    Thread.currentThread().setName("Foo (AsyncTask)"); 
    // ... rest of your AsyncTask processing ... 
} 

지정된 이름은 DDMS 관점에서뿐만 아니라 스레드 목록, 이클립스 디버그 창에 표시됩니다.

+0

고마워요, 그 일을했습니다. 그러나 AsyncTasks가 디버깅 창에 아무런 이름 지정없이 나타나있는 것으로 나타났습니다. 귀하의 제안 된 코드가 모두 포함되었는지 확인하기 위해 모든 코드를 점검했습니다. 따라서 다른 내부 코드가 이러한 작업을 유발해야한다고 생각하게됩니다. 누가 어떻게 그들을 양육했는지 알 수있는 어떤 생각? – AndroidDev

+0

내가 아는 것이 없다. 깊게 조사하고 싶다면 앱에서 사용중인 외부 라이브러리와 시스템 구성 요소를 선택적으로 사용하거나 사용하지 않도록 설정하고 스레드 목록에 어떤 영향을 주는지 확인할 수 있습니다. – Xion

+0

내부적으로 AsyncTasks를 사용하는 CursorLoader + CursorAdapter 일 가능성이 높습니다. – pjv

관련 문제