android项目中如何使用@WorkerThread注解?

How use @WorkerThread annotation in android project?

之前我在非 ui 线程(AsyncTask、Loader 等)中使用了一些调用代码的方法。但是现在我尝试对方法使用@WorkerThread 注释,它调用了一些网络请求

@WorkerThread
    public void downloadInFile(final String url, final String rootDirectory, final OnFinishLoadAudioInFile onFinishLoadAudioInFile,
                               final OnUpdateLoadAudio onUpdateLoadAudio) {
        final String fileName = URLUtil.guessFileName(url,  null, null);
        downloadFile(url, rootDirectory + File.pathSeparator + fileName, onFinishLoadAudioInFile, onUpdateLoadAudio);
    }

,还有android.os.NetworkOnMainThreadException。如何正确使用@WorkerThread注解?

WorkerThread注解只是为了增加调用线程的要求,而不是自动使用特定的线程。你仍然需要做线程。

// 导入 android.annotation.WorkerThread;

进口androidx.annotation.WorkerThread;

与 try-catch 一起使用。