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 一起使用。
之前我在非 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 一起使用。