2011-09-28 6 views
5

を実行しているどのようなコードを特定、私が示しスレッドを参照してください。アンドロイド:AsyncTaskは、デバッグウィンドウでのEclipseで

スレッド< 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パースペクティブでEclipseのデバッグウィンドウと同様に、スレッドリストに表示されます。

+0

ありがとう、それは仕事をしました。しかし、私は、AsyncTasksが何も命名せずにデバッグウィンドウに表示されていることに気づいた。私は自分のコードをすべてチェックして、あなたの提案されたコードがすべてのコードに含まれていることを確認しました。これは、他の内部コードがそれらのタスクを生成しているに違いないと信じています。誰がどのようにしてそれらを産んだのかを知ることができますか? – AndroidDev

+0

私が知っていることはありません。本当に深く調査したいのであれば、アプリで使用している外部ライブラリやシステムコンポーネントを選択的に有効/無効にし、スレッドのリストにどのような影響を与えるかを確認することができます。 – Xion

+0

おそらくCursorLoader + CursorAdapterは内部的にAsyncTasksを使用しています。 – pjv

関連する問題