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

时间:2015-11-11 11:53:25

标签: android android-support-library

在我使用某种方式在非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注释?

2 个答案:

答案 0 :(得分:11)

WorkerThread注释仅用于添加调用线程的要求,而不是自动使用特定线程。你仍然需要进行线程化。

答案 1 :(得分:-2)

// 导入 android.annotation.WorkerThread;

导入 androidx.annotation.WorkerThread;

与 try-catch 一起使用。