Это может показаться глупым вопросом, но я не могу понять статус AsynctaskLoader.
Я несколько раз читал документацию, а также другие руководства в Интернете. Однако я до сих пор не могу понять, когда асинтаск находится в состоянии сброса.
Взгляните на этот фрагмент кода, извлеченный из официальной документации. http://developer.android.com/reference/android/content/AsyncTaskLoader.html
@Override public void deliverResult(List<AppEntry> apps) {
if (isReset()) {
// An async query came in while the loader is stopped. We
// don't need the result.
if (apps != null) {
onReleaseResources(apps);
}
}
Этот метод вызывается, когда загрузчик завершает свою работу и должен отправить данные обратно в поток пользовательского интерфейса. Мой вопрос: почему мы спрашиваем, сброшен ли загрузчик? Что вообще означает его сброс? Класс говорит
/**
* Return whether this load has been reset. That is, either the loader
* has not yet been started for the first time, or its {@link #reset()}
* has been called.
*/
Вы можете подумать, что если загрузчик не был запущен в первый раз, он будет в состоянии STOPPED, зачем перезапускать?.
Наверное, я не совсем понимаю, как загрузчик реагирует на жизненный цикл активности, но в документации об этом ничего не сказано.
