Antes eu usei alguma forma de código de chamada em thread não ui (AsyncTask, Loader etc). Mas agora eu tento usar a anotação @WorkerThread para o método, ele chamou alguns pedidos de rede
@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);
}
, e tem android.os.NetworkOnMainThreadException
. Como usar @WorkerThread
anotação corretamente?
Respostas:
7 para resposta № 1A anotação WorkerThread é apenas para adicionar um requisito de chamada de thread não para usar automaticamente um thread específico. Você ainda tem que fazer o encadeamento.