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

mle*_*kiy 5 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);
    }
Run Code Online (Sandbox Code Playgroud)

,并有android.os.NetworkOnMainThreadException.如何@WorkerThread正确使用注释?

小智 11

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