命名异步任务的线程

2022-09-01 16:56:03

是否可以为 AsyncTask 的背景线程指定一个名称,就像 Java 中的普通线程一样:

Thread(Runnable target, String name) 

我看过AsyncTask的代码,默认构造函数只是默认给出一个名称

private static final ThreadFactory sThreadFactory = new ThreadFactory() {
    private final AtomicInteger mCount = new AtomicInteger(1);

    public Thread newThread(Runnable r) {
        return new Thread(r, "AsyncTask #" + mCount.getAndIncrement());
    }
};

我想这样做,因为当我调试时,我想知道哪个Asynctask正在访问帮助器类中的方法。


答案 1

尝试从内部调用它:doInBackground()

Thread.currentThread().setName("some custom name");

答案 2

为什么你不能扩展我不理解的AsyncTask。

我用调试器将我的AsyncTask扩展了一千次,向我展示了哪个AsyncTask正在咬人。

public class MyAsyncTask extends AsyncTask<Void, Void, Void>{
}

这样


推荐