2011-12-09 24 views
6

Có cách nào để đặt tên AsyncTask trong Android cho mục đích định cấu hình không? Hiện tại, AsyncTasks chỉ hiển thị trong profiler làĐặt tên AsyncTask để lược tả trong Android

[N] AsyncTask #1 
[M] AsyncTask #2 
[K] AsyncTask #3 
[L] AsyncTask #4 
etc... 

Điều tôi muốn làm là có thể đặt tên chúng theo cách nào đó để dễ dàng nhận dạng chúng trong tệp theo dõi.

Trả lời

16

Bạn có thể đổi tên chuỗi hiện tại từ mã chạy trong chuỗi. Ví dụ: thêm mã tiếp theo vào hàm doInBackground() của bạn:

String oldName = Thread.currentThread().getName(); 
Thread.currentThread().setName("MY-ASYNC"); 
... 
<your code here> 
... 
Thread.currentThread().setName(oldName); 
+0

Đã làm việc rất tốt, cảm ơn! – Slim

+0

Một mẹo khác mà tôi thích là mở rộng AsyncTask để tạo cơ sở trừu tượng của riêng tôi cho các tác vụ nền và trong doInBackground() bạn có thể làm một cái gì đó như Thread.currentThread(). SetName (this.class.getSimpleName()); Điều này sẽ dịch đúng cho các lớp học trẻ em. – greg7gkb

+0

Tại sao bạn muốn gọi ở cuối setName (oldName)? – aleb

Các vấn đề liên quan